婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python+Selenium定位不到元素常見原因及解決辦法(報:NoSuchElementException)

Python+Selenium定位不到元素常見原因及解決辦法(報:NoSuchElementException)

熱門標(biāo)簽:如何在地圖標(biāo)注文字 地圖標(biāo)注推廣單頁 n400電話申請多少錢 女王谷地圖標(biāo)注 西藏快速地圖標(biāo)注地點 ai地圖標(biāo)注 長春人工智能電銷機器人官網(wǎng) 百應(yīng)ai電銷機器人鄭州 廈門crm外呼系統(tǒng)如何

在做web應(yīng)用的自動化測試時,定位元素是必不可少的,這個過程經(jīng)常會碰到定位不到元素的情況(報selenium.common.exceptions.NoSuchElementException),一般可以從以下幾個方面著手解決:

1.Frame/Iframe原因定位不到元素:

這個是最常見的原因,首先要理解下frame的實質(zhì),frame中實際上是嵌入了另一個頁面,而webdriver每次只能在一個頁面識別,因此需要先定位到相應(yīng)的frame,對那個頁面里的元素進行定位。

解決方案:

如果iframe有name或id的話,直接使用switch_to_frame("name值")或switch_to_frame("id值")。如下:

driver=webdriver.Firefox()
driver.get(r'http://www.126.com/')
driver.switch_to_frame('x-URS-iframe') #需先跳轉(zhuǎn)到iframe框架
username=driver.find_element_by_name('email')
username.clear()

如果iframe沒有name或id的話,則可以通過下面的方式定位:

#先定位到iframe
elementi= driver.find_element_by_class_name('APP-editor-iframe')
#再將定位對象傳給switch_to_frame()方法
driver.switch_to_frame(elementi) 

如果完成操作后,可以通過switch_to.parent_content()方法跳出當(dāng)前iframe,或者還可以通過switch_to.default_content()方法跳回最外層的頁面。

2.Xpath描述錯誤原因:

由于Xpath層級太復(fù)雜,容易犯錯。但是該定位方式能夠有效定位絕大部分的元素,建議掌握。

解決方案:

2.1可以使用Firefox的firePath,復(fù)制xpath路徑。該方式容易因為層級改變而需要重新編寫過xpath路徑,不建議使用,初學(xué)者可以先復(fù)制路徑,然后嘗試去修改它。

2.2提高下寫xpath的水平。

可以詳看筆者另外一篇博文總結(jié):Selenuim+Python之元素定位總結(jié)及實例說明
該博文詳細總結(jié)了Xpath的使用,多組合定位一般都能實現(xiàn)定位問題。

如何檢驗編寫的Xpath是否正確?編寫好Xpath路徑,可以直接復(fù)制到搜狐瀏覽器的firebug查看html源碼,通過Xpath搜索:如下紅色框,若無報錯,則說明編寫的Xpath路徑?jīng)]錯。

find_element_by_xpath("http://input[@id='kw']")

3.頁面還沒有加載出來,就對頁面上的元素進行的操作:

這種情況一般說來,可以設(shè)置等待,等待頁面顯示之后再操作,這與人手工操作的原理一樣:
3.1設(shè)置等待時間;缺點是需要設(shè)置較長的等待時間,案例多了測試就很慢;
3.2設(shè)置等待頁面的某個元素出現(xiàn),比如一個文本、一個輸入框都可以,一旦指定的元素出現(xiàn),就可以做操作。
3.3在調(diào)試的過程中可以把頁面的html代碼打印出來,以便分析。

解決方案:
導(dǎo)入時間模塊。

import time
time.sleep(3)

4.動態(tài)id定位不到元素:

解決方案:
如果發(fā)現(xiàn)是動態(tài)id,直接用xpath定位或其他方式定位。

5.二次定位,如彈出框登錄

如百度登錄彈出框登錄百度賬號,需先定位到百度彈出框,然后再定位到用戶名密碼登錄。

# coding=utf-8
'''
Created on 2016-7-20
@author: Jennifer
Project:登錄百度賬號
'''
from selenium import webdriver
import time

driver = webdriver.Firefox()
driver.get("http://www.baidu.com/")

time.sleep(3)

#點擊登錄:有些name為tj_login的元素為不可見的,點擊可見的那個登錄按鈕即可。
#否則會報:ElementNotVisibleException
element0=driver.find_elements_by_name("tj_login")
for ele0 in element0:
  if ele0.is_displayed():
    ele0.click()

#在登錄彈出框,需先定位到登錄彈出框
#否則會報:NoSuchElementException
element1=driver.find_element_by_class_name("tang-content")
element11=element1.find_element_by_id("TANGRAM__PSP_8__userName")
element11.clear()
element11.send_keys("登錄名")

element2=element1.find_element_by_id("TANGRAM__PSP_8__password")
element2.clear()
element2.send_keys("密碼")

element3=element1.find_element_by_id("TANGRAM__PSP_8__submit")
element3.click()
element3.submit()

try:
  assert "登錄名" in driver.page_source
except AssertionError:
  print "登錄失敗"
else:
  print "登錄成功"
  time.sleep(3)
finally:
  print "測試記錄:已測試"
driver.close()

補充:報:selenium.common.exceptions.ElementNotVisibleException

代碼:

from selenium import webdriver
from PIL import Image
import time
import pandas as pd
import datetime
 
driver = webdriver.Ie(r"C:\Program Files\internet explorer\IEDriverServer2.exe")
driver.get("https://www.cib.com.cn/cn/minipage/page/login-firmalert.html")
print("請輸入用戶名和帳號密碼,實現(xiàn)登錄")
input("====按任意鍵繼續(xù)====")
 
# print(driver.current_url) # https://corporatebank.cib.com.cn/firm/main/mainx.do
 
frame = driver.find_element_by_id("workframe") # 切換到 iframe 標(biāo)簽中查找
driver.switch_to_frame(frame) # 切入 iframe 標(biāo)簽
 
# driver.switch_to_default_content()  # 切出 iframe 標(biāo)簽 也可以 直接 默認(rèn)的
 
driver.find_element_by_xpath('//div[@id="fast-way"]/ul/li[2]/a').click() # 點擊 當(dāng)日明細查詢按鈕
time.sleep(2)
try:
  driver.find_element_by_xpath('//div[@id="fast-way"]/ul/li[2]/a').click() # 點擊 當(dāng)日明細查詢按鈕
except Exception as e:
  print("=======雙擊這個按鈕========", e)
time.sleep(3)

到此這篇關(guān)于Python+Selenium定位不到元素常見原因及解決辦法(報:NoSuchElementException)的文章就介紹到這了,更多相關(guān)Python+Selenium定位不到元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 基于python requests selenium爬取excel vba過程解析
  • Python + selenium + requests實現(xiàn)12306全自動搶票及驗證碼破解加自動點擊功能
  • 如何使用selenium和requests組合實現(xiàn)登錄頁面
  • python selenium實現(xiàn)智聯(lián)招聘數(shù)據(jù)爬取
  • 使用Selenium實現(xiàn)微博爬蟲(預(yù)登錄、展開全文、翻頁)
  • python+selenium小米商城紅米K40手機自動搶購的示例代碼
  • python爬蟲之利用Selenium+Requests爬取拉勾網(wǎng)

標(biāo)簽:廊坊 興安盟 綿陽 黔東 亳州 拉薩 渭南 內(nèi)江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python+Selenium定位不到元素常見原因及解決辦法(報:NoSuchElementException)》,本文關(guān)鍵詞  Python+Selenium,定位,不到,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python+Selenium定位不到元素常見原因及解決辦法(報:NoSuchElementException)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python+Selenium定位不到元素常見原因及解決辦法(報:NoSuchElementException)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    五月综合激情婷婷六月色窝| 99国产麻豆精品| 九色综合国产一区二区三区| 欧美日本在线看| 亚洲国产va精品久久久不卡综合| 91高清在线观看| 中文字幕在线观看不卡| 成人h动漫精品| 亚洲三级在线播放| 日韩欧美一级在线播放| 亚洲一区二区成人在线观看| 在线精品视频一区二区三四| 五月婷婷另类国产| 欧美一区二区三区啪啪| 蜜臀久久99精品久久久久宅男| 欧美日韩在线播放| 蜜臀av国产精品久久久久| 久久婷婷综合激情| 不卡一二三区首页| 亚洲精品国产精品乱码不99| av高清不卡在线| 亚洲欧美视频在线观看| 这里只有精品99re| 国产69精品一区二区亚洲孕妇| **欧美大码日韩| 日韩你懂的在线观看| 国产一区二区三区电影在线观看| 国产精品视频在线看| 欧美亚洲一区三区| 国产尤物一区二区在线| 亚洲精品自拍动漫在线| 精品精品国产高清a毛片牛牛 | 久久国产欧美日韩精品| 成人激情免费电影网址| 一级精品视频在线观看宜春院| 在线免费一区三区| 国产裸体歌舞团一区二区| 亚洲激情一二三区| 精品久久久久久无| 欧美亚洲动漫精品| 国产成+人+日韩+欧美+亚洲| 蜜桃精品视频在线| 亚洲一区二区三区国产| 久久久久国产精品厨房| 在线不卡欧美精品一区二区三区| 成人av先锋影音| 精久久久久久久久久久| 一二三区精品视频| 亚洲h动漫在线| 国产精品久久久久一区二区三区| 欧美电影一区二区三区| 色av一区二区| 成a人片国产精品| 久久精品人人做人人爽人人| 日韩精品在线看片z| 91在线观看高清| 国产精品一线二线三线精华| 日韩黄色小视频| 亚洲国产毛片aaaaa无费看| 亚洲欧美在线aaa| 久久久精品免费网站| 欧美成人精精品一区二区频| 777久久久精品| 在线播放91灌醉迷j高跟美女| 欧美综合视频在线观看| 在线视频综合导航| 欧美在线播放高清精品| 欧美日韩一区 二区 三区 久久精品| 99精品桃花视频在线观看| 丁香婷婷综合激情五月色| 国产亚洲一区二区三区| 2017欧美狠狠色| 日韩欧美视频一区| 日韩免费一区二区三区在线播放| 日韩一区二区影院| 精品三级av在线| 久久久午夜精品理论片中文字幕| 欧美tk丨vk视频| 久久精品欧美一区二区三区麻豆| 国产精品久久久久久久久久久免费看| 中文字幕免费一区| 一区二区三区在线视频播放| 又紧又大又爽精品一区二区| 亚洲天堂a在线| 日日嗨av一区二区三区四区| 青青草国产精品亚洲专区无| 精品亚洲aⅴ乱码一区二区三区| 精品一区二区三区免费视频| 国产一区二区美女| 91日韩一区二区三区| 欧美色精品在线视频| 日韩三级视频在线观看| 久久久国际精品| 一区二区三区日韩精品| 蜜桃视频一区二区三区| 成人a免费在线看| 欧美乱妇23p| wwwwww.欧美系列| 亚洲精品免费在线| 青青青爽久久午夜综合久久午夜| 国产黄色精品视频| 在线日韩av片| 欧美一区二区大片| 日本一区二区免费在线观看视频| 日韩毛片精品高清免费| 麻豆高清免费国产一区| 国产女主播一区| 一区二区三区小说| 亚洲国产精品自拍| 国产成人精品在线看| 91麻豆国产香蕉久久精品| 亚洲精品在线免费观看视频| 国产精品久久久久永久免费观看 | 亚洲成人黄色影院| 国产精品88av| 在线电影一区二区三区| 中文字幕亚洲一区二区va在线| 午夜精品爽啪视频| 国产传媒一区在线| 欧美一区二区三区爱爱| 久久99精品久久久久婷婷| 色综合久久88色综合天天6| 精品国产网站在线观看| 婷婷综合另类小说色区| 国产一区二区三区免费看 | 久久久精品天堂| 日韩高清一区在线| 成人精品视频一区| 884aa四虎影成人精品一区| 亚洲欧洲av另类| 国产呦萝稀缺另类资源| 日韩欧美国产高清| 亚洲成人手机在线| 在线免费观看日本欧美| 亚洲激情一二三区| 成人小视频在线| 国产欧美一区二区精品忘忧草 | 95精品视频在线| 国产欧美一区二区精品久导航| 蜜桃av一区二区| 欧美精品v国产精品v日韩精品| 亚洲美女视频一区| 色呦呦网站一区| 蜜臀av一区二区| 在线不卡一区二区| 久久草av在线| 久久美女高清视频| 国产一区二区三区不卡在线观看| 精品99999| 成人午夜精品在线| 樱花影视一区二区| 日韩一卡二卡三卡四卡| 精品亚洲aⅴ乱码一区二区三区| 国产免费观看久久| 色哟哟国产精品| 日韩激情在线观看| 国产日产亚洲精品系列| 色视频一区二区| 日本成人在线一区| 国产精品免费视频网站| 欧美亚男人的天堂| 日本不卡高清视频| 国产精品三级av| 欧美少妇性性性| 国产尤物一区二区在线| 亚洲男人都懂的| 日韩一级完整毛片| 成人av在线电影| 日韩精品电影在线| 国产精品三级电影| 欧美一级欧美三级在线观看| 高清不卡在线观看av| 亚洲欧美另类在线| 欧美大片免费久久精品三p| 国产在线视频精品一区| 夜夜精品浪潮av一区二区三区| 欧美精品久久天天躁| 久久超碰97中文字幕| 国产精品成人免费在线| 91精品国产高清一区二区三区蜜臀| 国产一区二区主播在线| 夜夜操天天操亚洲| 26uuu另类欧美| 欧美午夜片在线观看| 色欧美片视频在线观看在线视频| 亚洲图片欧美色图| 久久这里只有精品视频网| 欧洲精品在线观看| 99视频超级精品| 国产91精品欧美| 国产一区 二区| 热久久一区二区| 亚洲第一在线综合网站| **网站欧美大片在线观看| 久久婷婷久久一区二区三区| 欧美日本一区二区三区四区| 色综合天天视频在线观看| 粉嫩蜜臀av国产精品网站| 久草热8精品视频在线观看| 亚洲成人免费在线|