• selenium “could not be scrolled into view”


    学习selenium对话框处理出现错误

    a.py内容:

    from selenium import webdriver

    import time
    driver = webdriver.Firefox()
    driver.get("http://www.baidu.com/")

    time.sleep(3)
    #点击登录链接
    driver.find_element_by_name("tj_login").click()
    #通过二次定位找到用户名输入框
    div=driver.find_element_by_class_name("tang-content").find_element_by_name("userName")
    div.send_keys("username")
    #输入登录密码
    driver.find_element_by_name("password").send_keys("password")
    #点击登录
    driver.find_element_by_id("TANGRAM__PSP_10__submit").click()
    driver.quit()

    运行a.py的时候出现 ElementNotInteractableException: Message: Element <a class="lb" href="https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F&sms=5" name="tj_login"> could not be scrolled into view 不能跳出对话框
    经网上查找是因为不可见元素定位原因,某些情况元素的visibility为hidden或者display属性为none,我们在页面看不到但是实际是存在页面的一些元素,这时候用 is_displayed() 来判断

    改过a.py内容

    #coding=utf-8
    from selenium import webdriver
    import time
    driver = webdriver.Firefox()
    driver.get("http://www.baidu.com/")
    #点击登录链接
    time.sleep(3)
    element0=driver.find_elements_by_name("tj_login")
    for ele0 in element0:
        if ele0.is_displayed():
            ele0.click()
    #通过二次定位找到用户名输入框
    div=driver.find_element_by_class_name("tang-content").find_element_by_name("userName")
    div.send_keys("username")
    #输入登录密码
    driver.find_element_by_name("password").send_keys("password")
    #点击登录
    driver.find_element_by_id("TANGRAM__PSP_10__submit").click()
    driver.quit()

  • 相关阅读:
    怎样改动、扩展并重写Magento代码
    解决Gradle minifyEnabled无法找到错误
    使用Hadoop的MapReduce与HDFS处理数据
    cmake 学习笔记(一)
    简单的日志系统
    WebStorm 7.0 注冊码
    DOS命令大全--具体解释
    SQL SERVER之数据查询
    闰年的定义
    Javascript作用域链
  • 原文地址:https://www.cnblogs.com/awakenedy/p/9778753.html
Copyright © 2020-2023  润新知