Python自学及心得

4.7)设置元素等待

2022-08-31  本文已影响0人  Jeff_9021

四、设置元素等待  

# -*- coding:utf-8 -*-

from selenium import webdriver

from webdriver_manager.chrome import ChromeDriverManager

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditionsas EC

from time import ctime, sleep

from selenium.common.exceptions import NoSuchElementException

driver = webdriver.Chrome(ChromeDriverManager().install())

driver.get("https://www.baidu.com/")

# 显性等待

# 方法一

print(ctime())

element = WebDriverWait(driver, 5, 0.5).until(

EC.visibility_of_element_located((By.ID, 'kw'))

)

element.send_keys('selenium')

print(ctime())

driver.quit()

# 方法二

print(ctime())

for iin range(5):

try:

ele = driver.find_element_by_id("kw22")

if ele.is_displayed():

break

    except:

pass

    sleep(1)

else:

print("time out")

print(ctime())

driver.quit()

# 隐式等待

driver.implicitly_wait(10)# 等待所有需要等待的元素,直到等待10s后,仍找不到元素会报错,不执行下一步。

try:

print(ctime())

driver.find_element_by_id('kw22').send_keys('selenium')

except NoSuchElementExceptionas e:

print(e)

finally:

print(ctime())

driver.quit()

上一篇下一篇

猜你喜欢

热点阅读