亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python Selenium:等待不是等待

Python Selenium:等待不是等待

慕妹3146593 2023-03-08 17:22:52
我正在設計一個網絡抓取工具。在某些時候,我需要它等待大約 10 秒,然后再跳轉到下一個操作以解決互聯網連接問題。我想要一個簡單的隱式等待。driver.get('MY WEBSITE')driver.implicitly_wait(10)menu = driver.find_element_by_link_text("Export")menu2 = driver.find_element_by_xpath('//td[text()="Data"]')actions = ActionChains(driver)actions.move_to_element(menu)actions.click(menu)actions.move_to_element(menu2)actions.click(menu2)actions.perform() 唯一的問題是:它沒有等待。我什至嘗試將 20 秒或更多秒作為 implicitly_wait 參數,以便完全確定并且沒有變化。就是打開網站直接去搜索這兩個元素。誰能解釋一下?
查看完整描述

2 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

文檔

隱式等待告訴 WebDriver 在嘗試查找任何不立即可用的元素時輪詢 DOM 一段時間。默認設置為 0。設置后,隱式等待設置為 WebDriver 對象的生命周期。

因此,如果該元素立即可用,它就不會等待。


查看完整回答
反對 回復 2023-03-08
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

嘗試使用WebDriverWait:


E.g


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("http://somedomain/url_that_delays_loading")

try:

    element = WebDriverWait(driver, 10).until(

        EC.presence_of_element_located((By.ID, "myDynamicElement"))

    )

finally:

    driver.quit()


查看完整回答
反對 回復 2023-03-08
  • 2 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號