微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

三大等待

1、强制等待

import time     
    time.sleep(1)

2、智能等待

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

3、隐形等待   —————一般使用这种

明确的条件(元素可见、窗口存在。。。)。 等待+条件

from selenium.webdriver.support.wait import webdriverwait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# 元素存在(html里存在,能找到)、
# 元素可见(存在并且可见-看得见大小-可见才可操作)、
# 元素可用(可见之后,才有可用的可能性。只读/不可点击-不可用)

# 等待条件表达
# locator = (定位类型,定位表达式)
locator = (By.ID,'TangrAM__PSP_10__footerULoginBtn')
# EC.visibility_of_element_located(locator)  # 条件
# 等待元素可见
webdriverwait(driver,30).until(EC.visibility_of_element_located(locator))
# # 辅助 - 0.5秒
# time.sleep(0.5)
# 点击元素
driver.find_element_by_id('TangrAM__PSP_10__footerULoginBtn').click()

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐