zoukankan      html  css  js  c++  java
  • selenium报错Element is not clickable at point及四种解决方法

    使用Selenium时,触发点击事件,经常报如下异常:
    Element is not clickable at point
     

    1、未加载
    没加载出来就等待元素加载出来,再往下执行。
    可以使用python库time

    不过最好还是使用selenium自带WebDriverWait

    2、在iframe里
    如果元素在iframe里,在窗口里找是找不到元素的,更是无法点击。所以,要切换到iframe里去找元素。

    3、不在视窗里,需要拉滚动条
    很多网站的列表页不是立马返回所有内容,是根据视图来显示的。所以,我们就需要拖动滚动条来把要获取的内容显示到视窗里才可以获取到。

    js="var q=document.documentElement.scrollTop=100000"   driver.execut_script(js)

    #滑动到顶部    js="var q=document.documentElement.scrollTop=0"    driver.execut_script(js)

    #滑到底部    js="window.scrollTo(0,100000)"     driver.execute_script(js)

    #滑动到顶部    js="window.scrollTo(0,0)"      driver.execute_script(js)

    目前在firefox,chrome上验证都是可以跑通的

    4、要点击的元素被覆盖
    可以使用事件链来解决
    例如下拉菜单,通过hover,让子菜单显示,就可以点击了。

    menu = driver.find_element_by_css_selector(".nav")
    hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")

    ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()

    4、要点击的元素被遮挡

    如图:无法点击go,被前面的悬浮元素遮挡


    ————————————————
    版权声明:本文为CSDN博主「lzg_zone」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/lzg_zone/java/article/details/81239421

  • 相关阅读:
    Lambda表达式、依赖倒置
    ASP.NET vNext 概述
    Uname
    RHEL4 i386下安装rdesktop【原创】
    Taxonomy of class loader problems encountered when using Jakarta Commons Logging(转)
    How to decompile class file in Java and Eclipse
    先有的资源,能看的速度看,不能看的,抽时间看。说不定那天就真的打不开了(转)
    Google App Engine 学习和实践
    【VBA研究】VBA通过HTTP协议实现邮件轨迹跟踪查询
    js正則表達式语法
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/12603675.html
Copyright © 2011-2022 走看看