selenium學習筆記:
WebDriverWait:顯式等待,針對某個元素進行等待,結合expected_conditions 使用,expected_conditions下掛條件眾多,主要有以下幾種:
EC.frame_to_be_available_and_switch_to_it(locator) #判斷frame是否可以切換到當前定位地點
EC.text_to_be_present_in_element_value() #判斷指定元素的屬性值中是否包含了預期的字符串,返回布爾值
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver= webdriver.Firefox()
driver.get("https://www.baidu.com/")
locator=(By.ID,"kw")
#判斷是否找到element,並返回元素
element = WebDriverWait(driver,5,1).until(EC.presence_of_element_located((By.ID,"kw")))
element.send_keys("selenium")
#判斷title是否是設定值,返回布爾值
re= WebDriverWait(driver,10).until(EC.title_is("百度一下,你就知道"))
print(re)
# 判斷元素是否可見,返回元素
re1=WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.ID,'su')))
print(re1)
time.sleep(4)
driver.quit()
implicitly_wait:隱式等待
#encoding:utf-8 from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait driver=webdriver.Firefox() driver.get("https://www.baidu.com/") driver.implicitly_wait(10)#隱式等待 input_=driver.find_element_by_id("kwss") input_.send_keys("selenium") driver.quit()