• 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()

  • 相关阅读:
    思维导图
    Delphi 之弹出气泡消息提示
    delphi 响应鼠标进入控件消息
    Delphi 获取当前鼠标下的控件内容
    delphi TTBXToolBar 增加外部控件
    delphi button 实现下拉列表
    delphi 设置多屏幕
    电脑双屏改单屏后看不到文件问题的解决
    delphi ListView 设置固定列宽
    数字孪生(Digital twin)
  • 原文地址:https://www.cnblogs.com/awakenedy/p/9778753.html
Copyright © 2020-2023  润新知