国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

selenium的find_elements非常慢的解決辦法

這篇具有很好參考價值的文章主要介紹了selenium的find_elements非常慢的解決辦法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在使用find_elements的過程中發(fā)現(xiàn),有時候比較快,有時候非常慢,慢的時候可以達(dá)到幾分鐘,實在不能忍受,必須要解決。

后來看到國外一片文章(抱歉地址忘記了)說,find_elements慢的原因是頁面上有很多ajax的請求,默認(rèn)模式下會等待這些ajax的加載完成后才執(zhí)行,所以阻塞了find_elements的執(zhí)行,如果ajax一直在加載中就會一直等待直到超時。所以要解決這個問題的辦法很簡單,強制修改默認(rèn)等待時間即可,像下面這樣:

    driver.implicitly_wait(180)
    driver.get(url)
...
    driver.implicitly_wait(0.1)
    elements=driver.find_elements(By.XPATH, xpath)
...

實際上find_elements不需要等待ajax的加載完成,等待時間甚至可以設(shè)置為0,我還是溫柔一點設(shè)置為0.1。

記得有文章說設(shè)置pageLoadStrategy為eager也可以解決這個問題,但這個畢竟需要修改driver的options,不能中途修改,不夠靈活放棄。

另外selenium的find_elements本來也比較慢,如果要追求解析速度,還可以使用第三方的xpath解析器,比如說lxml,但這些第三方解析器不能判斷元素是否可見等等和瀏覽器相關(guān)的判斷,使用有局限,作為純粹的xpath搜索還是不錯的。(我原來就使用lxml,因為要判斷元素是否可見,只好放棄)文章來源地址http://www.zghlxwxcb.cn/news/detail-770408.html

到了這里,關(guān)于selenium的find_elements非常慢的解決辦法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • selenium之find_elements的妙用

    selenium之find_elements的妙用

    最近因為工作上的需要(我不是測試,不是前端,也不是測試),任務(wù)就是下載大量的文件,其中遇到一個頁面有多個需要下載的對象,因為是剛?cè)腴Tselenium,很多功能還在摸索。 1.找到所有滿足條件的頁面元素 driver.find_elements(By.XPATH, 路徑) 一般是需要提取所有滿足條件的元

    2024年02月11日
    瀏覽(22)
  • Python selenium find_element()示例詳解

    Python selenium find_element()示例詳解

    selenium有以下定位方式: 1 2 3 4 5 6 7 8 driver.find_element_by_id(‘ id \\\') driver.find_element_by_xpath( \\\'xpath\\\' ) driver.find_element_by_link_text( \\\'link_text\\\' ) driver.find_element_by_partial_link_text( \\\'partial_link_text\\\' ) driver.find_element_by_name( \\\'name\\\' ) driver.find_element_by_tag_name( \\\'tag_name\\\' ) driver.find_element_by_class_name( \\\'cla

    2024年02月02日
    瀏覽(58)
  • python.使用selenium新定位方法 driver.find_element(By.‘方式‘, “xxx“) 和 解決復(fù)制粘貼不生效也不報錯的坑

    最近在家歇著沒事做就簡單復(fù)習(xí)一下,然后就踩了兩個小坑 新定位方式示例代碼如下:

    2024年02月12日
    瀏覽(85)
  • web自動化系列-selenium find_elements定位方法詳解(八)

    web自動化系列-selenium find_elements定位方法詳解(八)

    接上文 : web自動化測試系列-selenium css_selector定位方法詳解(七)-CSDN博客 前面已經(jīng)介紹了8種定位方法 ,大多數(shù)情況下我們都會優(yōu)先使用這8種方法 。 但有的時候在你選擇定位元素時 ,會出現(xiàn)多個同樣的定位屬性和值 。而且你能選擇定位也就這一種情況 。這種情況你只能使用

    2024年04月16日
    瀏覽(26)
  • selenium driver.find_element 報錯 invalid argument: invalid locator

    selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: invalid locator 報錯信息:invalid argument: invalid locator 提示的是 定位器 locator 的 參數(shù) argument 是無效的, 為什么無效,是我代碼寫錯了, driver.find_element( \\\'//*[@id=\\\"staffid\\\' ).send_keys(‘handsome’) 定位器 locator 少了最重要的參

    2024年01月25日
    瀏覽(26)
  • Python爬蟲(1)一次性搞定Selenium(新版)8種find_element元素定位方式

    Python爬蟲(1)一次性搞定Selenium(新版)8種find_element元素定位方式

    selenium中有8種不錯的元素定位方式,每個方式和應(yīng)用場景都不一樣,需要根據(jù)自己的使用情況來進(jìn)行修改 目前selenium已經(jīng)出現(xiàn)了新的版本的定位方式,雖然說定位語法不一樣,但是萬變不離其宗。 用舊版的定位語法就會出現(xiàn)這個刪除線,你用他來進(jìn)行爬蟲的時候運行時就會提

    2024年02月03日
    瀏覽(94)
  • Selenium中find_element_by_id無法使用,改用driver.find_element(by=By.ID, value=None)

    Selenium中find_element_by_id無法使用,改用driver.find_element(by=By.ID, value=None)

    在自學(xué)selenium的時候,可能教學(xué)視頻太老了,WebDriver已經(jīng)沒有find_element_by_id這個方法了。 執(zhí)行結(jié)果如下: bug翻譯如下: AttributeError:“WebDriver”對象沒有屬性“find_element_by_id” 通過自動補齊代碼發(fā)現(xiàn),WebDriver里面還是有find_element這個方法的。 通過按住Ctrl,點擊該方法,我們

    2024年02月11日
    瀏覽(17)
  • selenium模塊中的find_element_by_id方法無法使用,改用driver.find_element(by=By.ID, value=None)

    selenium模塊中的find_element_by_id方法無法使用,改用driver.find_element(by=By.ID, value=None)

    在學(xué)習(xí)selenium模塊的時候,由于是在白嫖的,往年教程 點擊運行后報錯 AttributeError: \\\'WebDriver\\\' object has no attribute \\\'find_element_by_id\\\' \\\'WebDriver\\\'沒有find_element_by_id這個方法 搜索出來的基本都是就這個方法進(jìn)行講解 在嘗試方法中發(fā)現(xiàn),finde_element這個方法有 點開配置文件,發(fā)現(xiàn)通過find換了

    2024年02月11日
    瀏覽(20)
  • selenium4.3.0模塊中的find_element_by_id方法無法使用,改用driver.find_element(by=By.ID, value=None)

    selenium4.3.0模塊中的find_element_by_id方法無法使用,改用driver.find_element(by=By.ID, value=None)

    在selenium最新版本4.3.0中, 使用之前的find_element_by_id會報錯 Ctrl+點擊find_element,查看代碼 最新版本,改為了driver.find_element(By.ID, ‘foo’) 在自己的代碼中修改,發(fā)現(xiàn)By會被pycharm下劃線提示報錯,再次查看代碼 發(fā)現(xiàn)需要import By 再次修改自己的代碼,運行通過

    2024年02月13日
    瀏覽(25)
  • driver.find_element()用法

    driver.find_element()用法

    driver.find_element()用于在Web頁面中定位單個元素。它是Selenium WebDriver庫中的 一種方法。該方法接受一個定位器(locator)和一個值作為參數(shù),用于指定要查找的元素 位置。下面是具體的用法和一些例子: 通過ID定位元素: driver.find_element(By.ID, “element_id”) 例如:driver.find_eleme

    2024年02月05日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包