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

selenium-webdriver+nodejs等待頁面加載完畢后執(zhí)行后續(xù)動作

這篇具有很好參考價值的文章主要介紹了selenium-webdriver+nodejs等待頁面加載完畢后執(zhí)行后續(xù)動作。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

項目場景:

最近在用selenium-webdriver+nodejs為自己的項目寫一個自動登錄、自動跳轉(zhuǎn)頁面的自動化工具,減少開發(fā)環(huán)境中切換不同賬號時,頻繁操作的目的。(特殊環(huán)境,瀏覽器不允許打開密碼記錄功能)

網(wǎng)絡(luò)上大部分是python或者java的項目,作為前端,當(dāng)然要選擇nodejs。


問題描述

例如:登錄后,點擊某個頁面時,報錯找不到選擇器元素。
報錯信息如下:

UnhandledPromiseRejectionWarning: NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"[title="xxx"]"}

原因分析:

分析原因,大概率是點擊登錄后,頁面還沒有加載完畢,所以簡單地調(diào)用屬性選擇器無法選中相應(yīng)屬性。


解決方案:

這里先分享一下2022年11月2日下載的selenium中,css屬性選擇器寫法,與網(wǎng)上一些老版本略有不同:

        let dangerWorkTab = driver.findElement(By.css('[title="危險作業(yè)"]'))

查閱官網(wǎng)可知,nodejs版等待語法demo為:

let ele = await driver.wait(until.elementLocated(By.css('p')),10000);
let foo = await ele.getText();
assert(foo == "Hello from JavaScript");

參考官網(wǎng),改造自己的選擇器:

const {Builder, By,until} = require('selenium-webdriver') //別忘了吧untile工具引入進(jìn)來
代碼省略……

 let dangerWorkTab =await driver.wait(until.elementLocated(By.css('[title="危險作業(yè)"]')),10000);
 dangerWorkTab.click()

這里的時間參數(shù)’10000’應(yīng)該是設(shè)置的最長超出時間,因為項目中的動作是連續(xù)的。文章來源地址http://www.zghlxwxcb.cn/news/detail-739076.html

到了這里,關(guān)于selenium-webdriver+nodejs等待頁面加載完畢后執(zhí)行后續(xù)動作的文章就介紹完了。如果您還想了解更多內(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 WebDriver 加載頁面時出現(xiàn)瀏覽器閃退

    解決Selenium WebDriver 加載頁面時出現(xiàn)瀏覽器閃退

    ? 如果不匹配的話,可以去以下網(wǎng)址下載https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/? 如果還是不能解決selenium閃退,可以通過以下幾行代碼來解決此問題。

    2024年02月15日
    瀏覽(33)
  • 當(dāng)使用Selenium WebDriver 加載頁面時出現(xiàn)瀏覽器閃退時,如何解決?

    當(dāng)使用Selenium WebDriver 加載頁面時出現(xiàn)瀏覽器閃退時,如何解決?

    Selenium是一個用于Web應(yīng)用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣,今天在針對js動態(tài)網(wǎng)頁爬蟲時,使用代理并使用Selenium,打開網(wǎng)頁時,瀏覽器總是一閃而退,代碼如下: from selenium import webdriver from seleniumwire import webdriver from selenium.webd

    2023年04月09日
    瀏覽(23)
  • selenium WebDriver 中的幾種等待--sleep(),implicitly_wait(),WebDriverWait()

    selenium WebDriver 中的幾種等待--sleep(),implicitly_wait(),WebDriverWait()

    目錄 強(qiáng)制等待:sleep() 隱式等待:implicitly_wait() 顯示等待:WebDriverWait() 與until()或者until_not()方法結(jié)合使用 WebDriverWait與expected_conditions結(jié)合使用 顯示等待,自定義等待條件 設(shè)置固定休眠時間,單位為秒。 由python的time包提供, 導(dǎo)入 time 包后就可以使用。 缺點:不智能,使用太多的

    2024年02月16日
    瀏覽(20)
  • Python怎么讓頁面等待?Python爬蟲如何等待網(wǎng)頁加載完成

    Python怎么讓頁面等待?Python爬蟲如何等待網(wǎng)頁加載完成

    現(xiàn)在的很多網(wǎng)頁都會使用Ajax這種異步加載的技術(shù)來提高網(wǎng)頁的瀏覽體驗,而異步加載就是讓一部分元素在點擊或者執(zhí)行了某些操作時才會加載出來,而這對python爬蟲程序會造成很大的影響。下面會來給大家介紹一下python爬蟲讓網(wǎng)頁等待加載的方法,往下看看吧。 之所以要使

    2024年02月20日
    瀏覽(15)
  • 為你的網(wǎng)站加上Loading等待加載效果吧 | Loading頁面加載添加教程

    為你的網(wǎng)站加上Loading等待加載效果吧 | Loading頁面加載添加教程

    為你的網(wǎng)站加上Loading等待加載效果吧 | Loading頁面加載添加教程 效果圖 : 教程開始 新建一個loading樣式css 將以下代碼放進(jìn)去 然后引用這個文件 code #Loadanimation{ ? ?background-color:#fff; ? ?height:100%; ? ?width:100%; ? ?position:fixed; ? ?z-index:1; ? ?margin-top:0px;top:0px; ? ? } #Loadanimation

    2024年02月09日
    瀏覽(19)
  • 模擬動態(tài)加載網(wǎng)頁數(shù)據(jù)Selenium,Puppeteer,WebDriver,Requests-HTML

    模擬動態(tài)加載網(wǎng)頁數(shù)據(jù),你可以使用以下工具: Selenium:Selenium是一個用于Web應(yīng)用程序測試的工具,它可以模擬用戶在瀏覽器上的操作,包括點擊、滾動、填寫表單等。因此,它也可以用于爬取那些動態(tài)加載內(nèi)容的網(wǎng)頁。Selenium支持多種瀏覽器,并且提供了多種編程語言的接口

    2024年04月25日
    瀏覽(17)
  • Selenium的WebDriver操作頁面的超時或者元素重疊引起的ElementClickInterceptedException

    處理由頁面加載引起的超時是在使用 Selenium 進(jìn)行自動化測試中常見的任務(wù)。頁面加載可能因網(wǎng)絡(luò)速度慢、頁面復(fù)雜性或異步操作而導(dǎo)致超時。以下是一些處理頁面加載超時的方法: 1.設(shè)置隱式等待時間: 使用 implicitly_wait 方法可以設(shè)置隱式等待時間,讓 Selenium 等待一定時間

    2024年02月07日
    瀏覽(20)
  • webdriver 的三種等待方式(強(qiáng)制等待、隱式等待、顯示等待)

    在自動化測試腳本的運行過程中,webdriver操作瀏覽器的時候,對于元素的定位是有一定的超時時間,大致應(yīng)該在1-3秒的樣子,如果這個時間內(nèi)仍然定位不到元素,就會拋出異常,中止腳本執(zhí)行。我們可以通過在腳本中設(shè)置等待的方式來避免由于網(wǎng)絡(luò)延遲或瀏覽器卡頓導(dǎo)致的偶

    2024年02月13日
    瀏覽(14)
  • Selenium設(shè)置頁面超時時間-快速終止頁面加載

    Selenium設(shè)置頁面超時時間-快速終止頁面加載

    當(dāng)使用Selenium爬取一些頁面時,有些頁面加載速度特別慢,而我們又不需要等待頁面完全加載完畢。 此時可以通過 driver.set_page_load_timeout() 來設(shè)置頁面超時時間。 捕獲異常,并執(zhí)行js腳本 window.stop() 即可實現(xiàn),代碼如下。 報錯處理: 如果遇到如下,超時錯誤,可以嘗試更新

    2024年02月15日
    瀏覽(24)
  • Selenium 頁面加載策略

    共有三種類型的頁面加載策略. 頁面加載策略可以在此鏈接查詢?document.readyState?, 如下表所述: 策略 就緒狀態(tài) 備注 normal complete 默認(rèn)值, 等待所有資源下載 eager interactive DOM 訪問已準(zhǔn)備就緒, 但諸如圖像的其他資源可能仍在加載 none Any 完全不會阻塞 WebDriver 文檔的? document.rea

    2024年02月07日
    瀏覽(16)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包