使用硒网络驱动器python单击href = javascript时出现问题

时间:2018-11-03 04:30:17

标签: python selenium selenium-webdriver xpath webdriver

我在单击一个菜单项时遇到了问题,该菜单项具有带硒Web驱动器的href的链接。

<a class="a-link-normal" href="javascript:;">Fiction</a>

这是我的代码:

driver.find_element_by_xpath('//*[@id="div-fiction"]/span/a').click()

这似乎只会将链接名称悬停并突出显示它,但不会触发javascript。我尝试阅读所有其他解决方案,但这都导致仅使用click()方法。有谁知道这是什么问题或其他解决方法。

2 个答案:

答案 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)