[英]How to download multiple table files using selenium?
我正在学习硒,其中一个挑战是从表中的某些行下载文件,我该怎么做? 首先我检查了包含“Em aberto”信息的行,然后我找到了文件下载按钮,但我只能从第一行下载文件。
我的代码:
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
navegador = webdriver.Chrome()
link = "https://app.hdkjfl.com/v2/login"
navegador.get(link)
user = "*****"
password = "******"
sleep(1)
campo_user = navegador.find_element_by_id('login-input-usuario-id').send_keys(user)
campo_password = navegador.find_element_by_name('senha').send_keys(password)
button_enter = navegador.find_element_by_id('login-button-id').click()
sleep(10)
button_consultas = navegador.find_element_by_id("menu-consultas").click()
sleep(3)
iframe = navegador.find_element_by_id("iframeRf")
navegador.switch_to.frame(iframe)
sleep(2)
fatura = navegador.find_element_by_id("consultaspnl.row.8").click()
sleep(2)
items = navegador.find_elements_by_xpath('//td[@class="dataBaseTD nomeTD"]/div[text()="Em aberto"]')
# print(items)
sleep(1)
#arquivo = items.find_element_by_xpath('//*[@id="g.image.visualizar"]').click()
# print(arquivo)
for item in items:
#print (item)
item.find_element_by_xpath('//*[@id="g.image.txt__bsp__v2"]').click()
我不确定你的定位器的正确性,只是复制粘贴它。
我刚刚添加了.
在 XPath 的开头选择item
内的元素,而不是第一个。
试试这个:
for item in items:
#print (item)
item.find_element_by_xpath('.//*[@id="g.image.txt__bsp__v2"]').click()
time.sleep(5)
为了让下载完成,点击之间的延迟可能是必不可少的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.