zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    [草稿]挂载新硬盘
    [Android]开发环境配置(windows)-draft
    [草稿][C语言][内存分配]常见内存错误
    [草稿]Linux用户管理
    python的异步编程、IO多路复用、协程
    python的网络编程(socket)
    python的多进程、logging模
    python的Lock锁,线程同步
    python的并发和线程
    python的异常处理
  • 原文地址:https://www.cnblogs.com/awakenedy/p/9778753.html
Copyright © 2011-2022 走看看