Selenium遅延待ち

2635 ワード

Seleniumでは、get()メソッドは、Webフレームワークのロードが終了した後に実行を終了し、page_を取得するとsourceは、ブラウザが完全にロードされたページではない可能性があります.
一部のページに追加のAjaxリクエストがある場合は、Webソースコードでも成功するとは限りません.したがって、ここでは、ノードがロードされていることを確認するために、一定の時間待つ必要があります.
最長待ち時間を指定できます.このノードが所定時間にロードされた場合、検索されたノードが返されます.所定時間になってもノードがロードされていない場合、投陽タイムアウトは異常です.
詳細については、公式サイトを参照してください.https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.support.expected_conditions
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

browser = webdriver.Chrome()
browser.get("https://www.baidu.com/")
wait = WebDriverWait(browser, 10)                                         #     WebDriver  ,       

search_box = wait.until(EC.presence_of_element_located((By.ID, 'kw')))    #    until()   ,        ,until       ,        
search_box.send_keys("Python")                                            # presence_of_element_located()      ,           

button = wait.until(EC.element_to_be_clickable((By.ID, 'su')))            # element_to_be_clickable()      ,             
button.click()

 
 
 
 
 
 
     
転載先:https://www.cnblogs.com/pzk7788/p/10550611.html