【发布时间】:2021-09-21 10:05:06
【问题描述】:
在我的项目中,我通过单击每个写为“日期”的链接来下载所有报告。下面是表的图像。
我必须提取表格列“付款日期”中提到的每个日期的报告。每个日期都是报告的链接。所以,我一个一个地点击所有的日期来下载报告。
for dt in driver.find_elements_by_xpath('//*[@id="tr-undefined"]/td[1]/span'):
dt.click()
time.sleep(random.randint(5, 10))
所以,这里的过程是当我单击一个日期时,它会下载该日期的报告。然后,我将单击下一个日期以获取该日期的报告。因此,我创建了一个 for 循环来遍历所有链接并获取所有日期的报告。
但它给了我陈旧元素例外。单击第一个日期后,无法单击下一个日期。我收到错误并且代码停止。
我该如何解决这个问题?
【问题讨论】:
-
2 个选项可供尝试。 1) 不要使用 time.sleep 对交易进行硬编码,而是使用 Seleniums 等到可点击或可见(对于example)。 2)看能不能直接通过api请求数据
-
现在,我想知道当你点击第一次约会时,有没有重定向?因为如果有,我们也需要自动化该部分。
-
@cruisepandey 当我点击第一个日期时,它会下载一份报告并停留在同一页面上。
-
要解决这个问题,请从这里寻求帮助:stackoverflow.com/questions/18225997/…
-
要解决这个问题,请从这里寻求帮助:stackoverflow.com/questions/18225997/…
标签: python selenium web-scraping automation