校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

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

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

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

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

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

這個是最常見的原因,首先要理解下frame的實質,frame中實際上是嵌入了另一個頁面,而webdriver每次只能在一個頁面識別,因此需要先定位到相應的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') #需先跳轉到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()方法跳出當前iframe,或者還可以通過switch_to.default_content()方法跳回最外層的頁面。

2.Xpath描述錯誤原因:

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

解決方案:

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

2.2提高下寫xpath的水平。

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

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

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

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

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

解決方案:
導入時間模塊。

import time
time.sleep(3)

4.動態id定位不到元素:

解決方案:
如果發現是動態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("請輸入用戶名和帳號密碼,實現登錄")
input("====按任意鍵繼續====")
 
# print(driver.current_url) # https://corporatebank.cib.com.cn/firm/main/mainx.do
 
frame = driver.find_element_by_id("workframe") # 切換到 iframe 標簽中查找
driver.switch_to_frame(frame) # 切入 iframe 標簽
 
# driver.switch_to_default_content()  # 切出 iframe 標簽 也可以 直接 默認的
 
driver.find_element_by_xpath('//div[@id="fast-way"]/ul/li[2]/a').click() # 點擊 當日明細查詢按鈕
time.sleep(2)
try:
  driver.find_element_by_xpath('//div[@id="fast-way"]/ul/li[2]/a').click() # 點擊 當日明細查詢按鈕
except Exception as e:
  print("=======雙擊這個按鈕========", e)
time.sleep(3)

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

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

標簽:廊坊 興安盟 綿陽 黔東 亳州 拉薩 渭南 內江

巨人網絡通訊聲明:本文標題《Python+Selenium定位不到元素常見原因及解決辦法(報:NoSuchElementException)》,本文關鍵詞  Python+Selenium,定位,不到,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python+Selenium定位不到元素常見原因及解決辦法(報:NoSuchElementException)》相關的同類信息!
  • 本頁收集關于Python+Selenium定位不到元素常見原因及解決辦法(報:NoSuchElementException)的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    色综合亚洲欧洲| 免费人成精品欧美精品| 波多野结衣亚洲一区| 国产精品久久久久aaaa樱花| 国产91丝袜在线播放0| 欧美激情一区二区| 成人精品鲁一区一区二区| 亚洲国产成人在线| 99久久伊人网影院| 樱桃国产成人精品视频| 91黄色小视频| 日产精品久久久久久久性色| 精品久久免费看| 成人av资源在线| 尤物在线观看一区| 欧美一卡二卡三卡| 精品一区二区久久久| 日本一区二区视频在线| 91视频一区二区| 亚洲成年人影院| 欧美成人a视频| 成人av网站在线| 性欧美疯狂xxxxbbbb| 26uuu亚洲婷婷狠狠天堂| 成人少妇影院yyyy| 五月婷婷久久丁香| 久久九九全国免费| 91久久精品网| 久久精品国产精品亚洲精品| 精品成人一区二区三区四区| a在线播放不卡| 婷婷成人综合网| 欧美激情一区二区三区不卡 | 国产精品久线观看视频| 日本精品一区二区三区高清| 美女免费视频一区二区| 国产精品国产三级国产专播品爱网 | 精品播放一区二区| 一本久道中文字幕精品亚洲嫩| 天使萌一区二区三区免费观看| 精品动漫一区二区三区在线观看| 色香蕉久久蜜桃| 激情小说亚洲一区| 亚洲五码中文字幕| 亚洲国产高清aⅴ视频| 91精品欧美久久久久久动漫| 高清成人在线观看| 日本不卡一区二区三区高清视频| 中文字幕在线不卡一区| 日韩精品中文字幕一区二区三区 | 免费在线一区观看| 亚洲欧美色一区| 久久日韩粉嫩一区二区三区| 欧美久久久久中文字幕| 99国产一区二区三精品乱码| 久久国产精品99精品国产| 亚洲图片自拍偷拍| 自拍视频在线观看一区二区| www一区二区| 欧美va天堂va视频va在线| 欧美日韩在线亚洲一区蜜芽| av激情综合网| 国产+成+人+亚洲欧洲自线| 久久国产人妖系列| 日本亚洲电影天堂| 午夜精品成人在线| 亚洲电影视频在线| 一二三四社区欧美黄| 亚洲欧洲精品一区二区三区不卡| 久久久精品影视| 26uuu亚洲综合色| 久久久五月婷婷| 久久久久久久久久久久电影 | 色拍拍在线精品视频8848| 丁香亚洲综合激情啪啪综合| 久久不见久久见免费视频7| 日本不卡123| 日本亚洲三级在线| 捆绑调教一区二区三区| 蜜桃视频第一区免费观看| 青青草原综合久久大伊人精品优势| 性欧美疯狂xxxxbbbb| 视频精品一区二区| 日本在线不卡视频| 久久av中文字幕片| 国产另类ts人妖一区二区| 国产精品99久久久久久有的能看 | 日韩一区二区免费电影| 日韩一区二区三区免费看| 日韩欧美久久一区| xvideos.蜜桃一区二区| 欧美激情一区二区| 亚洲伦理在线精品| 亚洲成人精品影院| 欧美aⅴ一区二区三区视频| 久久精品国产一区二区| 国产乱码精品1区2区3区| 成人网页在线观看| 91久久奴性调教| 制服丝袜亚洲网站| 国产亚洲自拍一区| 亚洲视频一二三区| 日韩精品欧美精品| 国产原创一区二区| 99re6这里只有精品视频在线观看| 在线观看免费成人| 日韩亚洲欧美综合| 国产精品三级av| 亚洲午夜免费电影| 国产九色精品成人porny| 99视频精品在线| 7777女厕盗摄久久久| 久久精品这里都是精品| 亚洲欧美成aⅴ人在线观看| 午夜精品久久久久久久久久 | 日韩一本二本av| 国产精品久久影院| 日韩电影免费在线观看网站| 国产传媒久久文化传媒| 91成人免费在线视频| 精品国产乱子伦一区| 亚洲欧美视频在线观看视频| 蜜桃视频免费观看一区| 91蜜桃传媒精品久久久一区二区| 91精品国产美女浴室洗澡无遮挡| 国产欧美一区二区在线观看| 亚洲超碰97人人做人人爱| 国产精品综合网| 欧美日韩国产不卡| 国产欧美一区二区精品性色| 视频在线在亚洲| 成人av电影在线网| 欧美大片拔萝卜| 亚洲综合色成人| 国产宾馆实践打屁股91| 91精品国产综合久久小美女| 中文字幕在线不卡| 国产在线乱码一区二区三区| 欧美色老头old∨ideo| 国产精品天美传媒| 久久国产精品72免费观看| 欧美日韩高清影院| 中文字幕一区二区不卡| 国产精品夜夜嗨| 欧美一区二区视频观看视频| 亚洲精品成人悠悠色影视| 成人午夜av电影| 久久综合久久鬼色中文字| 婷婷开心激情综合| 欧美日韩综合一区| 国产精品久久午夜夜伦鲁鲁| 国产在线视频不卡二| 久久综合久久综合亚洲| 日本人妖一区二区| 欧美日韩第一区日日骚| 亚洲精品亚洲人成人网在线播放| 成人激情综合网站| 欧美激情中文不卡| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 1区2区3区欧美| 成人国产精品视频| 欧美激情在线一区二区三区| 国产福利电影一区二区三区| 精品国产一二三| 精品无人码麻豆乱码1区2区| 欧美一区二区女人| 热久久一区二区| 欧美一区二区日韩| 麻豆精品在线看| 日韩欧美的一区二区| 久色婷婷小香蕉久久| 欧美一区二区三区四区五区| 午夜精品福利视频网站| 91精品国产综合久久久久久漫画| 天天操天天色综合| 欧美一级在线视频| 奇米综合一区二区三区精品视频| 在线综合+亚洲+欧美中文字幕| 午夜欧美大尺度福利影院在线看| 欧美日韩色综合| 男女男精品视频| 欧美成人video| 国产福利91精品一区| 亚洲国产成人午夜在线一区| 99国产精品久久久久久久久久久| 亚洲免费av在线| 欧美精三区欧美精三区| 麻豆久久久久久久| 国产精品三级在线观看| 在线免费观看成人短视频| 午夜电影一区二区三区| 精品国产欧美一区二区| 成人国产精品免费网站| 亚洲高清视频中文字幕| 欧美成人一区二区三区| 成人激情免费视频| 亚洲国产wwwccc36天堂| 精品国产亚洲在线| 91在线播放网址| 日韩av成人高清|