zoukankan      html  css  js  c++  java
  • 三大等待

    等待选择:

    -1、隐性等待:全局设置,等待查找元素, 
    -2、显性等待:等待元素可以被点击,可见,
    -3、强制等待:多个系统交互的地方。(上传文件/执行js代码)

    1、强制等待  

    强制等待, time.sleep(), 时间不好控制。
    import time     
        time.sleep(1)

    2、隐性等待

    - 隐性等待
    - 全局设置,
    - 设置超时时间,超过超时时间:NoSuchElementException
    - 只能用来等待元素
    from selenium import webdriver
    # 设置全局等待时间
    driver.implicitly_wait(5)
    driver.get("http://www.baidu.com")  # 静态页面加载完成
    driver.find_element_by_xpath('//div[@id="u1"]//a[@name="tj_login"]').click()
    # 当你的操作带来了页面的变化 ,请一定要等待。

    3、显性等待   

    - 显性等待如果找不到元素
    - 报错,TimeoutException

     一般的条件:

      presence_of_element_located  等待某个元素出现
    visibility_of_element_located 某个元素是否可见
    element_to_be_clickable 某个元素是否可被点击
    一般步骤1、设置定时器 2、设置满足条件
    from  selenium.webdriver.support.wait import  WebDriverWait
    from selenium.webdriver.support import expected_conditions #预期条件
    #设置定时器   每隔0.5秒去查看 元素是否出现,共检查5秒
    wait = WebDriverWait(driver,5,poll_frequency=0.5)

    #设置满足的条件
    """presence_of_element_located 等待某个元素出现
    visibility_of_element_located 某个元素是否可见
    element_to_be_clickable 某个元素是否可被点击
    """
    locator = ("xpath",'//*[@id="1"]/h3/a')
    ele = wait.until(
    expected_conditions.element_to_be_clickable(
    locator=locator))
  • 相关阅读:
    PDO应用
    分页查询
    PHP去除数组中重复数据的两个例子
    数据库访问(现用基本格式)
    克隆、加载类
    抽象类和接口
    静态
    PHP基础
    数据库的常用函数
    数据库的高级查询
  • 原文地址:https://www.cnblogs.com/XXQQ123/p/11268191.html
Copyright © 2011-2022 走看看