2016-05-18 48 views
0

正如标题,我有一些麻烦硒点击一个单选按钮,因为它认为它会点击一个div元素,而不是上:选择由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")) 

除了预期的条件类的其他方法,但没有任何工程。

+0

您是否尝试过最大化浏览器窗口?谢谢。 – alecxe

+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 

我希望这可以帮助别人否则在未来:)