Selenium:如何点击带有onclick属性的javascript链接?

t30tvxxf  于 2022-12-29  发布在  Java
关注(0)|答案(1)|浏览(240)

我怎样才能找到这个元素并点击链接?这是一个悬停按钮,目的是导出数据。

<a class="ActiveLink" title="Excel" alt="Excel" onclick="$find('ReportViewerControl').exportReport('EXCELOPENXML');" href="javascript:void(0)">Excel</a>

我试过:

  • 第一个月
  • driver.find_element(By.CSS_SELECTOR, "a.ActiveLink[@title='Excel']").click()

但都没用。谢谢你的帮助。

vhmi4jdf

vhmi4jdf1#

我不知道为什么不工作你尝试了什么,你没有分享你的 selenium 代码。
根据此处共享的元素HTML -基于onclick属性,尝试通过以下方式之一单击它:

driver.find_element(By.XPATH, "//a[@title='Excel'][contains(@onclick,'ReportViewerControl')]").click()

driver.find_element(By.XPATH, "//a[@title='Excel'][contains(@onclick,'EXCELOPENXML')]").click()

可以创建更多的定位器,但同样,点击可能不起作用,因为定位器不是唯一的,或者可能元素被隐藏或重叠或超出可见的视口或仍然没有加载...我们不能知道根据您在ypur问题分享到目前为止。
此外,XPath定义的定位器可以用CSS选择器来完成,反之亦然(大多数情况下)。

相关问题