如何保证元素定位的成功率(等待机制)

Posted jiyanjiao-702521

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何保证元素定位的成功率(等待机制)相关的知识,希望对你有一定的参考价值。

"""
隐性等待: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"))

 

以上是关于如何保证元素定位的成功率(等待机制)的主要内容,如果未能解决你的问题,请参考以下文章

WebDriver元素等待机制

selenium 自动化测试面试题及答案

Selenium(Webdriver)自动化测试常问问题

python如何实现元素等待

CSS代码片段

CSS代码片段