我在单击一个菜单项时遇到了问题,该菜单项具有带硒Web驱动器的href的链接。
<a class="a-link-normal" href="javascript:;">Fiction</a>
这是我的代码:
driver.find_element_by_xpath('//*[@id="div-fiction"]/span/a').click()
这似乎只会将链接名称悬停并突出显示它,但不会触发javascript。我尝试阅读所有其他解决方案,但这都导致仅使用click()方法。有谁知道这是什么问题或其他解决方法。
答案 0 :(得分:1)
所需元素似乎是启用了JavaScript的元素,因此您需要诱使 WebDriverWait 使所需元素可点击,并且您可以使用以下解决方案:
LINK_TEXT
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.LINK_TEXT, "Fiction"))).click()
XPATH
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@class='a-link-normal' and contains(.,'Fiction')]"))).click()
答案 1 :(得分:0)
您可以尝试以下方法:
driver.execute_script("arguments[0].click();", webelement to click)