from selenium import webdriver
import time

from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait

browser = webdriver.Chrome()
browser.get('file:///C:/Users/%E9%BE%99%E7%A5%9E/Desktop/ui%E6%B5%8B%E8%AF%95%E8%B0%B7%E6%AD%8C%E5%8C%85/pagetest/%E6%B3%A8%E5%86%8CA.html')
time.sleep(2)
"""
项目中大部分使用的是显式等待,虽然它们实现的效果一样,但是内部的处理机制不同
隐式等待无时无刻不在请求看是否加载出来
显式等待的话是隔一段时间去请求一次看是否加载出来
"""
# 隐式等待  需要等待的等待,  不需要等待的直接加载不等待,期间会不断的去检查浏览器有没有加载出来 消耗很大
# browser.implicitly_wait(10)
# browser.find_element(By.XPATH,"/html/body/div/div[2]/div/input").send_keys('123456')
# browser.find_element(By.XPATH,"/html/body/div/div[2]/div/input[2]").send_keys('123456')

# 显式等待 (需要等待的我来等待,不需要等待的我直接加载不等待,特定时间去检查一次耗费资源更少)
"""
element = WebDriverWait(browser,10,1).until(lambda x:x.find_element_by_xpath("/html/body/div/div[2]/div/input"))
find_element_by_xpath被代替成find_element所以我们换成find_element
"""
element = WebDriverWait(browser,10,1).until(lambda x:x.find_element(By.XPATH,"/html/body/div/div[2]/div/input"))
element.send_keys('123456')
time.sleep(3)
browser.quit()

 

posted on 2021-07-13 16:10  v3174  阅读(87)  评论(0)    收藏  举报