使用selenium

时间:2016-05-18 19:58:02

标签: jquery python css python-3.x selenium

正如标题所示,我在获取selenium点击单选按钮时遇到了一些麻烦,因为它认为它会点击div元素:

重要提示:

我忘了提到div是由一个使用jQuery的javascript函数触发的。

/结束注释

selenium.common.exceptions.WebDriverException:消息:未知错误:元素在点(725,597)处无法点击。其他元素会收到点击:...

令人讨厌的部分是单选按钮不是div的子元素,它的大小足以覆盖放置无线电的区域。 我尝试过使用:

element = WebDriverWait(driver, 20).until(
    EC.visibility_of_element_located((By.CSS_SELECTOR, "#exportValuesLabelsCSV3.radio"))

与预期条件类的其他方法一样,但没有任何作用。

1 个答案:

答案 0 :(得分:0)

这个问题的解决方案是检查jQuery是否完全搞砸了页面:

element = WebDriverWait(driver, 20).until(
            lambda s: s.execute_script("return jQuery.active == 0"))

执行的脚本返回一个布尔值,所以:

if element:
            csvRadio = driver.find_element_by_css_selector("#exportValuesLabelsCSV3.radio")
            csvRadio.click()
        else:
            pass

我希望将来可以帮助别人:)