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

Selenium 元素定位不到(Unable to locate element)

這篇具有很好參考價值的文章主要介紹了Selenium 元素定位不到(Unable to locate element)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

Selenium 元素定位不到(Unable to locate element)

問題描述:使用selenium進(jìn)行元素定位時,元素的定位信息是正確的,但是腳本執(zhí)行時,依舊會出現(xiàn)元素不存在的錯誤。

這個問題的原因在于,頁面有一個加載的過程,當(dāng)我們進(jìn)行元素定位時,需要頁面將該元素加載出來,如果元素沒有加載出來,那么即使定位方式是正確的,也會出現(xiàn)元素不存在的錯誤。

解決方案:

1.設(shè)置元素的顯示等待時間,等待該元素被找到或者超時(不太推薦,比較麻煩)

# 導(dǎo)入顯示等待的方法 以秒為單位
from selenium.webdriver.support.wait import WebDriverWait
# 導(dǎo)入判斷元素是否存在的方法
from selenium.webdriver.support import expected_conditions
# 第一個參數(shù)為實例化的瀏覽器驅(qū)動,第二個參數(shù)為的等待該元素的時長,第三個參數(shù)為輪詢定位該元素的時長, until用來等待該元素被找到
element = WebDriverWait(driver, 5, 0.5).until(
# visibility_of_element_located用來判斷元素是否存在
expected_conditions.visibility_of_element_located((by.ID, 'username'))
)

以上方法通過輪詢等待元素加載,直到元素被找到或者超時

2.設(shè)置驅(qū)動器的隱式等待時間,找不到元素時進(jìn)行等待,直到元素被找到或者超時(推薦)

# implicitly_wait用來設(shè)置瀏覽器驅(qū)動器的隱式等待時間,以秒為單位
driver.implicitly_wait(5)

以上方法在元素找不到時,進(jìn)行等待,直到元素被找到或者超時

3. 設(shè)置系統(tǒng)休眠時間,等待瀏覽器加載后繼續(xù)執(zhí)行(不推薦, 休眠暫停流程執(zhí)行,即使元素已經(jīng)出來了,也會休眠到設(shè)定時間之后執(zhí)行)

from time import sleep
# 以秒為單位
sleep(5)

以上方法添加到找不到元素的前面,進(jìn)行系統(tǒng)休眠,等待一段時間后查找文章來源地址http://www.zghlxwxcb.cn/news/detail-727310.html

到了這里,關(guān)于Selenium 元素定位不到(Unable to locate element)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 使用selenium時NoSuchElementException: Message: no such element: Unable to locate element:{...}

    在學(xué)習(xí)用Python自動腳本測試時,運(yùn)行報錯: selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {\\\"method\\\":\\\"css selector\\\",\\\"selector\\\":\\\".radio:nth-child(2) .replace-word\\\"} 但在selenium?ide跟蹤、運(yùn)行時是完全沒有問題。 逐步跟蹤也沒有發(fā)現(xiàn)問題,后來想到此程序點(diǎn)擊按

    2024年02月14日
    瀏覽(19)
  • selenium報Unable to locate or obtain driver for {options.capabilities[‘browserName‘]}

    之前寫了一個get_dirver函數(shù),單獨(dú)運(yùn)行的時候沒問題。后面導(dǎo)入調(diào)用的時候也是正常的。 但是后面把這個合入到另一個項目的時候就報Unable to locate or obtain driver for {options.capabilities[‘browserName’]}這個錯誤。 后面編輯源文件,print了一下函數(shù)里面獲取的路徑,顯示不是在當(dāng)前目

    2024年02月04日
    瀏覽(85)
  • Selenium定位不到元素怎么辦?一定要這么做

    Selenium定位不到元素怎么辦?一定要這么做

    在使用Selenium進(jìn)行自動化測試時,碰到無法定位元素該怎么辦?這里總結(jié)了9種情況下的元素定位方法: 1、frame/iframe表單嵌套 WebDriver只能在一個頁面上對元素識別與定位,對于frame/iframe表單內(nèi)嵌的頁面元素?zé)o法直接定位。 解決方法: switch_to.frame() 默認(rèn)可以直接取表單的id或

    2024年03月15日
    瀏覽(73)
  • selenium---元素定位(find_element)

    selenium---元素定位(find_element)

    find_element屬于定位元素的一種方法,包含了常用的定位方法。 在使用find——element 時 一定要導(dǎo)入相關(guān)的包,不然會報錯 以百度頁面為例: 選中搜索框,右鍵點(diǎn)擊檢查 本篇一切方法都是基于此。 1.選擇要使用的瀏覽器和搜索網(wǎng)站,以Chrome瀏覽器和百度為例 2.以 id 為例 從上面

    2024年01月16日
    瀏覽(19)
  • Python_selenium: 元素定位不到的罪魁禍?zhǔn)字唬篿frame

    Python_selenium: 元素定位不到的罪魁禍?zhǔn)字唬篿frame

    背景:組內(nèi)同事最近在寫腳本,使用復(fù)制的xpath始終定位不到元素,報錯內(nèi)容:selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {\\\"method\\\":\\\"xpath\\\",\\\"selector\\\":\\\"http://table[text()=\\\'contentTable\\\']/tbody/tr/td[16]/a[2]/i\\\"} 解題思路: 1. 由于提供的html截圖信息,發(fā)現(xiàn)存在多層body消息體拼

    2024年02月04日
    瀏覽(45)
  • selenium--面試官問元素定位不到怎么辦?工作中還在為元素定位不到而煩惱?看這一文就夠了--內(nèi)附解析跟代碼解決案例

    selenium--面試官問元素定位不到怎么辦?工作中還在為元素定位不到而煩惱?看這一文就夠了--內(nèi)附解析跟代碼解決案例

    from selenium import webdriver fox = webdriver.Firefox() fox.get(“https://qzone.qq.com/”) fox.find_element_by_id(‘switcher_plogin’).click() fox.find_element_by_id(‘u’).send_keys(‘清安無別事’) fox.find_element_by_id(‘p’).send_keys(‘歡迎入坑’) fox.quit() 看到此處代碼,如果你想直接去定位,得到的就是: 所以

    2024年04月25日
    瀏覽(18)
  • selenium--面試官問元素定位不到怎么辦?工作中還在為元素定位不到而煩惱?看這一文就夠了--內(nèi)附解析跟代碼解決案例(1)

    selenium--面試官問元素定位不到怎么辦?工作中還在為元素定位不到而煩惱?看這一文就夠了--內(nèi)附解析跟代碼解決案例(1)

    fox = webdriver.Firefox() fox.get(“https://www.baidu.com”) fox.find_element_by_id(“kw”).send_keys(‘清安無別事’) fox.find_element_by_id(“su”).click() fox.find_element_by_xpath(‘/html/body/div[1]/div[4]/div[1]/div[3]/div[3]/h3/a/em’).click() sleep(2) fox.quit() 這里舉例我想定位2021年01月_清歡無別事_這條超鏈接內(nèi)容并

    2024年04月08日
    瀏覽(34)
  • Selenium頁面跳轉(zhuǎn)后的元素定位-switch_to.window()使用

    在使用Selenium獲取網(wǎng)頁數(shù)據(jù)時常常會因為頁面跳轉(zhuǎn)導(dǎo)致,后續(xù)的頁面數(shù)據(jù)無法正常獲取。究極原因,都是因為此時的頁面對象還是上一個頁面,使用當(dāng)前頁面的定位條件當(dāng)然會報錯(因為上一個頁面根本不存在這些定位條件)。因此我們可以通過switch_to.window()進(jìn)行頁面的切換

    2023年04月09日
    瀏覽(21)
  • 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)行爬蟲的時候運(yùn)行時就會提

    2024年02月03日
    瀏覽(94)
  • selenium--面試官問元素定位不到怎么辦?工作中還在為元素定位不到而煩惱?看這一文就夠了--內(nèi)附解析跟代碼解決案例!讓面試官對你刮目相看

    selenium--面試官問元素定位不到怎么辦?工作中還在為元素定位不到而煩惱?看這一文就夠了--內(nèi)附解析跟代碼解決案例!讓面試官對你刮目相看

    未切換句柄 ===== 切換句柄是什么意思呢。就是你從百度搜索到下面例子的京東界面,瀏覽器中打開了兩個網(wǎng)頁,你需要從百度的界面跳轉(zhuǎn)到這么界面。如下: 這里元素定位輸入框是id=key但是你會發(fā)現(xiàn)定位不到。 from time import sleep from selenium import webdriver fox = webdriver.Firefox() f

    2024年04月13日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包