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

selenium報錯Unable to locate element

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

背景:

使用selenium寫自動化腳本時,在登錄后的新界面進行點擊一直報錯

內(nèi)容如下:

driver.find_element_by_xpath('//*[@id="15227789891964323"]/a[1]').click()

報錯如下:

NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"http://*[@id="15227789891964323"]/a[1]"}
  (Session info: chrome=76.0.3809.87)

解決方案:

查找各方資料后,有幾種情況會造成報錯,以下為解決方案:

1、定位的頁面重新開了一個iframe,需要切換iframe,語句如下:

driver.switch_to.window(driver.window_handles[-1])

或者如下語句:

# 當前打開的所有窗口
windows = driver.window_handles
# 轉(zhuǎn)換到最新打開的窗口
driver.switch_to.window(windows[-1])

或者如下語句:

sreach_window=driver.current_window_handle

2、時間過短、操作時間過快,頁面還未加載完,需要加一個延時

# 延時加載
sleep(5)

3、定位的元素是動態(tài)的,相對值不斷變化,主要表現(xiàn)可能為一串數(shù)據(jù),或是字符加數(shù)據(jù),頁面加載一次變化一次,每次都不相同。

其他博主提供的方案:盡量避免用這樣的屬性值去定位,而采用這個元素下的其他固定不變的屬性值?;蚴窍蛏蠈硬檎遥捎肵path定位

4、定位頁面嵌入式元素,筆者就是在排除了多種情況、嘗試了多種方法后,確定可能是出現(xiàn)了這個問題,并在查閱其他博主的文章后,確定了如下解決方案:

#從frame中先切回主文檔
driver.switch_to.default_content()
#進入第一層frame
driver.switch_to.frame(driver.find_element_by_xpath('//*[@id="body"]/iframe'))
#操作第一層iframe下的元素,點擊元素
driver.find_element_by_xpath('//*[@id="sortable"]/li[4]').click()

關(guān)鍵在與找到并進入第一層,因為是嵌套,所以需要一步一步的進入頁面,從最外層向最里層,層層定位

來源于:https://www.cnblogs.com/pxj2018/p/9883721.html

5、出現(xiàn)Xpath編寫錯誤,但是目前chrome和firefox均提供xpath的復制服務,所以基本不太可能出現(xiàn)這種問題

那么如何測試并找出到底是哪個地方存在的問題呢?建議可以用已經(jīng)測試過的語句替代可能出現(xiàn)問題的地方,看能不能運行,或者每種可能情況都測試一遍,總會找到問題的,畢竟代碼的世界都是有因有果的。

以上,暫時為截止2022年5月30日使用過并且測試過的方案,以此記錄,以防忘記文章來源地址http://www.zghlxwxcb.cn/news/detail-407001.html

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

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

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

相關(guān)文章

  • selenium報Unable to locate or obtain driver for {options.capabilities[‘browserName‘]}

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

    2024年02月04日
    瀏覽(85)
  • 解決linux安裝yum報錯 E: Unable to locate package yum

    參考: 解決linux安裝yum報錯 E: Unable to locate package yum

    2024年02月04日
    瀏覽(106)
  • Laravel 使用mix引入本地樣式文件 報錯 Unable to locate Mix處理

    ? Compiled Successfully in 4524ms ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┬

    2024年02月13日
    瀏覽(26)
  • Ubuntu 20.04安裝yum報錯:E: Unable to locate package yum

    Ubuntu 20.04安裝yum報錯:E: Unable to locate package yum

    直接上解決方案! 1、選擇自己對應的版本的源地址 注意需要選擇跟系統(tǒng)版本一致的:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ 找到Ubuntu點擊小問號,進去選擇對應的版本,將下面的鏡像復制到Linux系統(tǒng)的 /etc/apt/sources.list 文件中,將原來的源先備份再全部覆蓋。 備份文件 cp?

    2024年01月24日
    瀏覽(28)
  • Ubuntu20.04、22.04 報錯 E: Unable to locate package yum 終極解決方案

    Ubuntu20.04、22.04 報錯 E: Unable to locate package yum 終極解決方案

    最近裝了ubuntu子系統(tǒng)試了好多方法、更換了好多鏡像源,但還是無法解決報錯 E: Unable to locate package yum ? 最終通過添加源deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse 成功解決,具體方法如下: 1.備份source.list文件,防止弄壞下載源 2.更換國內(nèi)源 vim使用說明:

    2023年04月17日
    瀏覽(35)
  • 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)
  • [Selenium]Message: disconnected: Unable to receive message from rendererXXX:報錯解決

    selenium.common.exceptions.WebDriverException: Message: disconnected: Unable to receive message from renderer ? (failed to check if window was closed: disconnected: not connected to DevTools) ? (Session info: MicrosoftEdge=115.0.xxxx.xxx) ????????示例中使用的是最新版本的 webdriver.EdgeOptions() 創(chuàng)建 edge_options 實例。然后使用

    2024年02月04日
    瀏覽(27)
  • selenium打開瀏覽器報錯成功解決selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain...

    ? ? ? ? 報錯內(nèi)容為 ? ????????我將我運行代碼同一目錄下的msedgedriver.exe沒有改名為MicrosoftWebDriver.exe同時我又將python/Scripts目錄里面的驅(qū)動器改名為MicrosoftWebDriver.exe結(jié)果導致了文章開始的報錯 ? ? ? ? 我將我運行代碼同一目錄下的msedgedriver.exe改名為MicrosoftWebDriver.exe這樣

    2024年02月10日
    瀏覽(255)
  • Ubuntu遇到錯誤: E: Unable to locate package

    對于 Ubuntu 操作系統(tǒng)和 apt-get 包管理器,以下是一些常見的解決方法:行 sudo apt clean 命令可能有助于解決問題。感謝您的指正。 sudo apt clean 命令用于清理本地軟件包緩存。當軟件包列表或索引出現(xiàn)問題時,清理緩存可以幫助確保您從軟件源獲取最新的正確數(shù)據(jù)。 執(zhí)行以下步

    2024年02月05日
    瀏覽(28)
  • ERROR in unable to locate ‘***/public/**/*‘ glob

    ERROR in unable to locate ‘***/public/**/*‘ glob

    自己搭了一個react項目的腳手架,npm包下載一切都很正常,啟動的時候突然就報 ERROR in unable to locate \\\'***/public/**/*\\\' glob 這個錯誤,根據(jù)百度分析了一下產(chǎn)生的原因:webpack配置文件中的CopyWebpackPlugin導致的 網(wǎng)上給出的解決方案: 上下配置的路徑不對,比如說你配置的路徑是a/p

    2024年02月15日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包