首页 > 其他 > 详细

selenium等待

时间:2020-01-07 17:19:13      阅读:102      评论:0      收藏:0      [点我收藏+]

有三种等待方法

1.time.sleep(5)

  简单粗暴,强制等待5秒

2.隐式等待

  driver.implicityly_wait(10)

 在所有执行前,如果没有找到都等待10秒,我试了,不好用,好多都不起作用,为什么不知道

3.显式等待,针对某个元素,找不到之前等待,找到之后立刻执行下一句,查找时间超过给定时间就报错

方法一

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait

driver=webdriver.Chrome()
driver.get("www.")
wait=WebDriverWait(driver,10,0.5) #最多等待十秒,一个文件定义一次就可以了,
wait.until(lambda driver:driver.find_element_by_xpath(aaa))#找到该xpath对应的元素后,立刻执行下一步
driver.find_element_by_xpath(aaa).click()#点击元素
wait.until(lambda driver:driver.find_element_by_xpath(bbb))#找到该xpath对应的元素后,立刻执行下一步
driver.find_element_by_xpath(aaa).send_keys("bbb")#输入文本

方法二

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


driver=webdriver.Chrome()
driver.get("www.")
wait=WebDriverWait(driver,10,0.5) #最多等待十秒,一个文件定义一次就可以了,
locator=(By.XPATH,aaa)
wait.until(EC.presence_of_element_located(locator))#找到该xpath对应的元素后,立刻执行下一步
driver.find_element_by_xpath(aaa).click()#点击元素

selenium等待

原文:https://www.cnblogs.com/mghhzAnne/p/12162569.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!