python - 单击 Div 元素:过时的元素引用
问题描述
我正在尝试单击一个按钮。
该按钮有一个 div 元素,其 id 为 ctl00_ContentPlaceHolder1_ReportViewer1_ReportViewer
单击按钮时,应出现一个下拉菜单,您可以在其中选择下载选项。我希望能够单击 excel 下载选项。
要单击第一个按钮,我尝试通过执行单击按钮
click_download_button = driver.find_element_by_xpath('//div[@id="ctl00_ContentPlaceHolder1_ReportViewer1_ctl10_ctl04_ctl00"]')
click_download_button.click()
但是,我得到了陈旧的元素参考。
我也尝试将鼠标悬停在按钮上然后单击,但这似乎也不起作用。
我还尝试直接单击第二个按钮(一个 excel 下载按钮)。
下载按钮具有以下属性
<a class="ActiveLink" title="Excel" alt="Excel" onclick="$find('ctl00_ContentPlaceHolder1_ReportViewer1').exportReport('EXCELOPENXML');" href="javascript:void(0)" style="padding:8px 8px 3px 8px;display:block;white-space:nowrap;text-decoration:none;">Excel</a>
我通过找到基于标题“Excel”的按钮来尝试这个,但这也不起作用
有什么办法可以点击第一个按钮或直接点击下载按钮?
解决方案
你试过吗:
import time
time.sleep(1)
click_download_button = driver.find_element_by_id("ctl00_ContentPlaceHolder1_ReportViewer1_ctl10_ctl04_ctl00")
click_download_button.click()
推荐阅读
- javascript - 按超过 2 层深度的条件合并嵌套对象
- javascript - 如何从 JavaScript 执行下载的安装程序
- c - 在 C 语言中取消引用指向指针等的指针的指针
- docker - 无法在 gcloud 上部署容器
- php - 如何减去两个日期并以分钟为单位获得差异 PHP
- google-apps-script - Google 表格自动将自定义范围发送到电子邮件
- javascript - 使用 Create React App 在开发中代理
- php - 如何通过在我的后端页面中循环获取响应数据
- java - 如何在 Spring Security 中使用内置 X-Auth-Token 而不是 Spring Session Http Cookie
- sql-server - 在字符前选择字符串