我正在尝试从此网站下载所有电子表格,该网站要求我点击该项目,然后单击下载按钮。电子表格全部以相同的ID保存,每个电子表格后面的数字越来越多。我试图使用while循环来解决这个问题,但我不确定这是否是最好的方法。
i = 0
while i < 13:
device = 'ctl00_LeftBarContent_lvLeftPanel_lbDevices_i' + str(i)
deviceElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_id(device))
deviceElement.click()
time.sleep(2)
downloadXpath = "ctl00_LeftBarContent_lvLeftPanel_btnDownload"
WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_id(downloadXpath)).click()
time.sleep(2)
i += 1
目前,代码运行到单击下载按钮,文件下载然后它似乎挂在按钮上,最终超时。我正在使用chrome驱动程序。
谢谢!
答案 0 :(得分:0)
此评论仅针对您的缩进。要么缩进i,要么在i之后取消所有代码。
错误示例'Hello World':
i = 0
while i < 13:
print 'hello world'
i+=1
'error unexpected indent'
更正示例'Hello World':
i = 0
while i < 13:
print 'hello world'
i+=1
'Hello world'
'Hello world'
'Hello world'
'Hello world'
etc...
因此,对于您的问题,请正确缩进问题并重试。如果您仍然遇到问题,请在每个命令之前和之后输入一些打印语句,以查看您遇到的问题。只是一个猜测,但您可能必须切换帧,然后在第一次下载完成后关闭帧。