为了账号安全,请及时绑定邮箱和手机立即绑定

Python、Selenium:如何单击 javascript:void(0) 元素

Python、Selenium:如何单击 javascript:void(0) 元素

梵蒂冈之花 2023-04-25 17:10:09
我在网页中有一个“onclick”元素,<a href="javascript:void(0)" onclick=    "toIndexHtml('3','http://xxxxxxxxxxx/trade','0')"><i></i><span></span>trade</a>它在网页中显示为一个按钮,我想点击它,我尝试使用以下代码搜索它:driver.find_element_by_xpath("//a[contains(@onclick,'toIndexHtml')]").click()WebDriverWait(driver, 20).until(    EC.element_to_be_clickable((By.XPATH,"/html/body/div/ul/li[3]/a"))).click()两个都不行,请指教有没有其他方法!提前致谢!PS:我使用的是 Chrome WebDriver 和 Chrome v64。
查看完整描述

1 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

您的第一个定位器看起来很完美,应该可以正常工作。

理想情况下,要单击需要引发WebDriverWait 的元素element_to_be_clickable(),您可以使用以下任一定位器策略:


使用CSS_SELECTOR:


WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a[onclick^='toIndexHtml']"))).click()

使用XPATH:


WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[starts-with(@onclick,'toIndexHtml')]"))).click()

注意:您必须添加以下导入:


from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.common.by import By

from selenium.webdriver.support import expected_conditions as EC


查看完整回答
反对 回复 2023-04-25
  • 1 回答
  • 0 关注
  • 150 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信