Pythonセレンは待機の使用法を示しています

import unittest
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 #显示等待包
import time

driver=webdriver.Chrome()
url='http://www.sogou.com'
driver.get(url)
time.sleep(2)

input_box=driver.find_element_by_id('query') #定位元素
wait=WebDriverWait(driver,10,0.2) #创建等待对象,最多等待10秒,每0.2秒判断一下
wait.until(EC.visibility_of(input_box)) #等待input_box元素显示出来
input_box.send_keys('天天向上')
wait.until(EC.element_to_be_clickable((By.ID,'stb'))) #等待id='stb'的元素可被点击,再执行下面代码
button=driver.find_element_by_id('stb')
button.click()
wait.until(EC.title_is('搜狗')) #等待网页标题'搜狗'
alert=wait.until(EC.alert_is_present()) #等待alert弹框显示
alert.text #获取弹框文本内容
alert.accept #接受弹框 
wait.until(EC.element_to_be_selected(element)) #判断element元素是否被选中
time.sleep(3)
driver.close()

パッケージ表示待機方式

import unittest
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 #显式等待包
import time

def visibility_by_xpath(xpath_exp): #传入元素Xpath进行显式等待,等待可见
    wait=WebDriverWait(driver,10,0.2)
    wait.until(EC.visibility_of(driver.find_element_by_xpath(xpath_exp)))

def visibility_by_element(webelement): #传入获取到的元素进行显式等待,等待可见
    wait=WebDriverWait(driver,10,0.2)
    wait.until(EC.visibility_of(webelement))

def clickable(by,locator_path): #传入元素的定位方法和值进行显式等待,等待可点击
    wait=WebDriverWait(driver,10,0.2)
    element=wait.until(EC.element_to_be_clickable((by,locator_path)))
    return element

driver=webdriver.Chrome()
url='http://www.sogou.com'
driver.get(url)
time.sleep(2)

input_box=driver.find_element_by_id('query') #获取需要等待的元素
visibility_by_element(input_box)#调用自定义封装的方法进行显式等待
visibility_by_xpath("//input[@id='query']") #调用自定义封装的方法进行显式等待
input_box.send_keys('天天向上')
button=clickable(By.ID,'stb') #调用自定义封装的方法进行显式等待
button.click
time.sleep(3)
driver.close()

おすすめ

転載: blog.csdn.net/weixin_44123630/article/details/113829183