繁体   English   中英

如何使用硒下载多个表文件?

[英]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()

HTML 1 代码: html 1 HTML 2 代码: html 2

我不确定你的定位器的正确性,只是复制粘贴它。
我刚刚添加了. 在 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM