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

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

這篇具有很好參考價(jià)值的文章主要介紹了Python_selenium: 元素定位不到的罪魁禍?zhǔn)字唬篿frame。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

背景:組內(nèi)同事最近在寫腳本,使用復(fù)制的xpath始終定位不到元素,報(bào)錯(cuò)內(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消息體拼接成一個(gè)html頁面的情況,所以推薦使用模糊查詢的xpath定位元素,也就有了這個(gè)xpath:"http://table[text()='contentTable']/tbody/tr/td[16]/a[2]/i"【如果不清楚模糊查詢xpath怎么寫,可以在評(píng)論區(qū)提問】

改了后,不好用,還是報(bào)錯(cuò)。

2. 是不是等待沒加?

不是,等待了10秒,肯定能夠加載

3. 當(dāng)前元素父節(jié)點(diǎn),是否存在iframe?:存在?。?!

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

如果父節(jié)點(diǎn)存在圖上這種iframe消息體就需要先跳轉(zhuǎn)到iframe,才能夠定位到元素:

跳轉(zhuǎn)方式有很多,這里推薦使用:driver.switch_to.frame(0)

后面的0代表跳轉(zhuǎn)到第一個(gè)iframe,如果頁面有多個(gè)iframe,需要看看這個(gè)元素所在iframe是第幾個(gè),如果是第二個(gè),就修改成1

問題解決。

問題升級(jí):

就是這個(gè)頁面,在進(jìn)行后續(xù)操作的時(shí)候,又報(bào)錯(cuò)了,還是一樣的!

也是一番錯(cuò)誤的定位,最終定位到了這個(gè)html結(jié)構(gòu)

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

通過這個(gè)html結(jié)構(gòu)發(fā)現(xiàn),需要定位的元素,不在iframe窗口下。如果之前已經(jīng)跳轉(zhuǎn)到了iframe,之后定位的元素也只能夠定位到iframe窗口下的元素了。

這時(shí):需要跳出之前進(jìn)入的iframe頁面:?driver.switch_to.default_content()

總結(jié):

1. 如果父節(jié)點(diǎn)存在iframe,需要先跳轉(zhuǎn)到iframe才能夠定位到元素

2. 如果之前跳轉(zhuǎn)過iframe,當(dāng)需要定位不在同iframe的腳本,需要先跳出之前的iframe窗口,才能夠繼續(xù)定位

3. 定位不到元素的原因,可以優(yōu)先考慮iframe~文章來源地址http://www.zghlxwxcb.cn/news/detail-441260.html

到了這里,關(guān)于Python_selenium: 元素定位不到的罪魁禍?zhǔn)字唬篿frame的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 解決selenium定位不到xpath元素: “NoSuchElementException: Message: no such element: Unable

    在使用selenium爬取的時(shí)候用xpath定位元素,最常見的報(bào)錯(cuò)就是這個(gè),通常要么是xpath寫錯(cuò)了,要么就是元素還沒加載出來。 如果是前者可以用谷歌瀏覽器的xpath helper插件檢查xpath是否正確,后者可以增加等待時(shí)間或使用以下語句等到元素可見再執(zhí)行后續(xù)操作: 這次我遇到的問題

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

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

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

    2024年04月13日
    瀏覽(24)
  • Python - selenium-元素定位

    Python - selenium-元素定位

    目錄 一.前序工作 二.webdriver測(cè)試 三.元素定位方式? ? 根據(jù)ID定位????????????????a = wd.find_element(By.ID, \\\'值\\\') 根據(jù)NAME定位 ????????????????a = wd.find_element(By.NAME, \\\'值\\\') 根據(jù)CLASS_NAME定位????????????a = wd.find_element(By.CLASS_NAME, \\\'值\\\')?? 根據(jù)TAG_NAME定位??????

    2024年02月01日
    瀏覽(25)
  • Python selenium元素的定位

    視頻版教程:一天掌握python爬蟲【基礎(chǔ)篇】 涵蓋 requests、beautifulsoup、selenium 對(duì)象的定位應(yīng)該是自動(dòng)化測(cè)試的核心,要想操作一個(gè)對(duì)象,首先應(yīng)該識(shí)別這個(gè)對(duì)象。一個(gè)對(duì)象就是一個(gè)人一樣,他 會(huì)有各種的特征(屬性),如比我們可以通過一個(gè)人的身份證號(hào),姓名,或者他住在

    2024年02月08日
    瀏覽(20)
  • Python爬蟲——selenium_元素定位

    元素定位:自動(dòng)化要做的就是模擬鼠標(biāo)和鍵盤來操作這些元素,點(diǎn)擊,輸入等等。操作這些元素前首先要找到它們,WebDriver提供很多定位元素的方法 根據(jù)id來找到對(duì)象【常用】 根據(jù)標(biāo)簽屬性的屬性值來獲取對(duì)象 根據(jù)xpath語句來獲取對(duì)象【常用】 find_elements_by_xpath可以返回多個(gè)

    2024年02月13日
    瀏覽(22)
  • 自學(xué)Python 69 Selenium八大元素定位方法(新版BY方法)_selenium定位元素的方法和優(yōu)缺點(diǎn)

    自學(xué)Python 69 Selenium八大元素定位方法(新版BY方法)_selenium定位元素的方法和優(yōu)缺點(diǎn)

    文章目錄 Python Selenium八大元素定位方法(新版BY方法) 前言 一、常用的八種定位方法(新舊對(duì)比) 二、查看網(wǎng)頁元素 三、八大元素定位示例 1、id定位 2、name定位 3、class定位 4、tag定位 5、link定位 6、partial_link定位 7、xpath定位 8、CSS定位 在學(xué)習(xí)使用Selenium對(duì)網(wǎng)頁元素進(jìn)行定位時(shí)

    2024年04月22日
    瀏覽(24)
  • Python學(xué)習(xí)筆記——selenium定位iframe和元素(快速定位)

    Python學(xué)習(xí)筆記——selenium定位iframe和元素(快速定位)

    在使用selenium過程,發(fā)現(xiàn)定位iframe、元素比較困難,所以制作一個(gè)輔助小工具。 ?當(dāng)前界面沒有,調(diào)整driver位置 1.Xpath定位 ?2,.其他定位方式 獲取元素、操作失敗重復(fù)操作,直至操作成功。

    2024年02月13日
    瀏覽(20)
  • Python Selenium 八大元素定位方法(下)

    Python Selenium 八大元素定位方法(下)

    今天我們來學(xué)習(xí)UI自動(dòng)化中,剩余五個(gè)元素定位方法:tag_name、link_text、partial_link_text、Xpath、css_selector 以tag_name元素定位為例 HTML是由不同的標(biāo)簽組成的,每個(gè)標(biāo)簽都是指的同一類,所以用tag定位效率低下,一般不建議使用。 以link_text元素定位為例 1、使用F12,定位到含有鏈接

    2024年02月12日
    瀏覽(22)
  • 2.Python中selenium八大元素定位

    2.Python中selenium八大元素定位

    目錄 如何進(jìn)行元素定位 瀏覽器開發(fā)者工具介紹 一、id屬性定位 二、name定位 三、class_name定位 四、tag_name定位 五、link_text定位 六、partail_link_text定位 七、xpath定位 7.1 選取節(jié)點(diǎn) 7.2 謂語 7.3 軸 7.4 函數(shù) 7.5 邏輯運(yùn)算 八、css定位 8.1 css的定義 8.2 css定位策略 1.id選擇器 2.class選擇器

    2024年02月04日
    瀏覽(23)
  • 【Python中Selenium元素定位的各種方法】

    【Python中Selenium元素定位的各種方法】

    1、元素定位操作: 2、創(chuàng)建瀏覽器驅(qū)動(dòng)操作,導(dǎo)入By模塊: 3、ID元素定位 4、name元素定位 5、class_name:class屬性元素定位 6、tag_name:標(biāo)簽名元素定位 7、link_text:超鏈接標(biāo)簽元素定位 8、partial_link_text:超鏈接標(biāo)簽(模糊)元素定位 9、xpath:路徑(絕對(duì)路徑、相對(duì)路徑)元素定位

    2024年02月19日
    瀏覽(29)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包