【问题标题】:selenium - trouble clicking a button to exportselenium - 单击按钮导出时遇到问题
【发布时间】:2019-02-07 15:49:00
【问题描述】:

我一直在学习如何使用 selenium 来解析数据,并且我在这个过程中做得很好。所以我尝试了一些不同的东西,因为我发现了数据解析,但是有一个提供的导出按钮,对我来说,这听起来像是一个更快的解决方案,所以我想我会尝试一下。但我不太明白它是如何不起作用的:

browser = webdriver.Chrome()
url = 'https://www.rotowire.com/football/injury-report.php'
browser.get(url) 

button = browser.find_elements_by_xpath('//*[@id="injury-report"]/div[2]/div[2]/button[2]')
button.click()

browser.close()

我只想点击页面上的导出 csv 按钮。 另外,我还没有查看,但我的下一步是指定保存它导出的 csv 文件的位置。现在它,默认为下载文件夹。有没有办法在不更改默认值的情况下指定位置?还有没有办法指定文件名?

【问题讨论】:

  • 嘿,为按钮使用这个替代 xpath browser.find_element_by_xpath('//img[@alt="CSV"]')

标签: python selenium


【解决方案1】:

尝试下面的代码来点击所需的按钮:

from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

browser = webdriver.Chrome()
url = 'https://www.rotowire.com/football/injury-report.php'
browser.get(url) 

button = wait(browser, 10).until(EC.element_to_be_clickable((By.CLASS_NAME, "is-csv")))
button.click()

browser.close()

同时检查how to save file to specific folder

【讨论】:

  • 几乎完美。它会下载它,但你知道为什么它不能以与手动下载相同的格式下载吗?我在想它会以完全相同的方式打开,但是通过 selenium 进行操作,我仍然需要对表格/字符串进行一些格式化以分隔成各个列。
  • 嗯..我看不出有什么区别...也许可以尝试下载 Excel 文件以保留格式
  • 啊。好的。雅Excel保留了我需要的格式。感谢您的提醒。
猜你喜欢
  • 2023-03-15
  • 1970-01-01
  • 2014-03-21
  • 1970-01-01
  • 1970-01-01
  • 2019-05-28
  • 1970-01-01
  • 2020-08-08
  • 1970-01-01
相关资源
最近更新 更多