我在网页中有一个“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
添加回答
举报
0/150
提交
取消