python - selenium - 单击按钮导出时遇到问题
问题描述
我一直在学习如何使用 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 文件的位置。现在它,默认为下载文件夹。有没有办法在不更改默认值的情况下指定位置?还有没有办法指定文件名?
解决方案
尝试下面的代码单击所需的按钮:
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()
还要检查如何将文件保存到特定文件夹
推荐阅读
- javascript - 如何在刷新时保持输入字段禁用?
- asp.net-mvc-4 - 日期时间字段未在 MVC 页面上显示日期时间选择器
- python - 使用相同大小的 y 计算 tensorflow 中的梯度 (dy/dx)
- c# - Android 通知如何显示?
- javascript - 未在回调中设置全局变量?
- r - SSL:没有替代证书主题。RStudio 中的 RCurl
- php - 没有 swiftmailer 如何在 laravel 中发送邮件?
- android - 如何在 Google Now 中显示自定义卡片
- kubernetes - Kubernetes 没有使用 ImagePullPolicy 重新拉取图像:总是
- angular - 在以角度 4 重定向到新路线之前获取当前路线的数据