selenium webdriver(python)_使用Selenium Webdriver(Python)循环链接

这篇博客探讨了如何利用Python的SeleniumWebdriver库循环遍历网页上的链接列表。作者通过点击每个链接,抓取页面上的特定文本并写入文件,然后返回并继续点击下一条链接。在代码示例中,存在一个问题导致程序在运行时返回了主页面而不是预期的子页面,且x的递增速度不是预期的一次而是三次,导致程序崩溃。博客旨在提升作者的Python自动化技能。
摘要由CSDN通过智能技术生成

下午全部。当前尝试使用Selenium

Webdriver循环浏览页面上的链接列表。具体来说,它是单击链接,从所述页面上抓取一行文本以写入文件,然后返回,然后单击列表中的下一个链接。以下是我所拥有的:

def test_text_saver(self):

driver = self.driver

textsave = open("textsave.txt","w")

list_of_links = driver.find_elements_by_xpath("//*[@id=\"learn-sub\"]/div[4]/div/div/div/div[1]/div[2]/div/div/ul/li")

"""Initializing Link Count:"""

link_count = len(list_of_links)

while x <= link_count:

print x

driver.find_element_by_xpath("//*[@id=\"learn-sub\"]/div[4]/div/div/div/div[1]/div[2]/div/div/ul/li["+str(x)+"]/a").click()

text = driver.find_element_by_xpath("//*[@id=\"learn-sub\"]/div[4]/div/div/div/div[1]/div[1]/div[1]/h1").text

textsave.write(text+"\n\n")

driver.implicitly_wait(5000)

driver.back()

x += 1

textsave.close()

运行时,它会转到初始页面,然后返回主页面,而不是应有的子页面。打印x,我可以看到它递增了三倍而不是一倍。此后它也崩溃。我已经检查了所有的xpath等,并确认列表中的链接数得到了正确的计数。

非常感谢任何输入-这实际上只是为了扩展我的python / automation,因为我只是同时进入两者。提前致谢!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值