正如标题所示,我在获取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"))
与预期条件类的其他方法一样,但没有任何作用。
答案 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
我希望将来可以帮助别人:)