点击Div元素:陈旧元素参考

时间:2020-06-25 13:31:22

标签: python selenium

我试图单击一个按钮。

该按钮具有一个ID为ctl00_ContentPlaceHolder1_ReportViewer1_ReportViewer的div元素

单击按钮时,将出现一个下拉菜单,您可以在其中选择下载选项。我希望能够单击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”的按钮来尝试此操作,但这也没有效果

是否可以单击第一个按钮或直接单击下载按钮?

1 个答案:

答案 0 :(得分:1)

您尝试过吗?

import time

time.sleep(1)

click_download_button = driver.find_element_by_id("ctl00_ContentPlaceHolder1_ReportViewer1_ctl10_ctl04_ctl00")

click_download_button.click()