1.等待的三种方式
time.sleep(5)
2.隐式等待
self.driver.implicitly_wait(5)默认轮询查找(0.5秒)元素是否出现,确定作用于全局
3.显示等待
import selenium from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions from selenium.webdriver.support.wait import WebDriverWait class TestWeixin(): url = "https://work.weixin.qq.com/wework_admin/loginpage_wx?from=myhome_baidu" def setup(self): self.driver = webdriver.Chrome() self.driver.get(url=self.url) def teardown(self): self.driver.quit() def test_firt(self): self.driver.get(url=self.url) time.sleep(10) # 第一种等待方式--->死等 def test_wait1(self): self.driver.get(url=self.url) time.sleep(10) # 第二种等待方式--->隐式等待 def test_wait2(self): self.driver.implicitly_wait(5) # 第三种等待方式--->显示等待 def test_wait3(self): # # 自定义一个检查条件 # def func(x): # return len(self.driver.find_elements(By.XPATH, '//*[@id="wework_admin.loginpage_wx_$"]/main/div[2]/a')) >= 1 # # WebDriverWait(self.driver, 10).until(func, "显示等待") # self.driver.find_element(By.XPATH, '//*[@id="wework_admin.loginpage_wx_$"]/main/div[2]/a').click() # 或者采用until(expected_conditions) WebDriverWait(self.driver, 10).until( expected_conditions.element_to_be_clickable( (By.XPATH, '//*[@id="wework_admin.loginpage_wx_$"]/main/div[2]/a'))) self.driver.find_element(By.XPATH, '//*[@id="wework_admin.loginpage_wx_$"]/main/div[2]/a').click()