zoukankan      html  css  js  c++  java
  • 如何保证元素定位的成功率(等待机制)

    """
    隐性等待:driver.implicitly_wait(5)
    优点:1) 设置的是最长等待时间,只有在页面完全加载完成才执行下一步(完全加载:左上角的全不在转了)
        2) 隐性等待对整个driver的周期都起作用,只要设置一次就行了
    合理的加载方式:检测我的元素,是否被加载到
    显性等待: 
    总结:隐性等待和显性等待可以同时使用,等待时间取决于两者之间的最大者
    """
    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    
    driver = webdriver.Chrome()
    driver.implicitly_wait(10)
    # 隐性等待与显示等待可以同时使用
    driver.get("https://www.baidu.com/")
    # 参数:最长等待时间,间隔多长时间去查询一次
    WebDriverWait(driver,15,0.5).until(EC.presence_of_all_elements_located((By.LINK_TEXT,'登录')))
    print(driver.find_element_by_link_text('登录').get_attribute("href"))
  • 相关阅读:
    ECMAScript 6 字符串的扩展
    iOS蓝牙开发
    PhotoKit type类型
    HealthKit详解
    苹果证书签名机制
    小程序事件传递
    小程序跳转界面传可变参数
    小程序获取openId
    小程序发起post请求回调成功没有数据
    主干发布和分支发布
  • 原文地址:https://www.cnblogs.com/jiyanjiao-702521/p/10784137.html
Copyright © 2011-2022 走看看