【问题标题】:Selecting a radio button covered by a div element with selenium选择一个带有硒的 div 元素覆盖的单选按钮
【发布时间】:2016-05-18 19:58:01
【问题描述】:

正如标题所示,我在让 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"))

以及预期条件类的其他方法,但没有任何作用。

【问题讨论】:

  • 您是否尝试过最大化浏览器窗口?谢谢。
  • 是的,浏览器窗口已最大化。

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


【解决方案1】:

这个问题的解决方法是检查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

我希望这对将来的其他人有所帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 1970-01-01
    • 2011-08-14
    • 2020-10-15
    • 2022-11-24
    • 2021-04-02
    相关资源
    最近更新 更多