1. 程式人生 > >selenium元素定位之XPath

selenium元素定位之XPath

XPath是XML文件中定位元素的一種語言,HTML可以看成一種XML文件。XPath定位也是所有定位元素的方法中用的最多的,這塊必須要掌握。

1.絕對路徑定位

可以通過瀏覽器開發者模式找到要定位的元素,如下圖操作。


語法:find_element_by_xpath("/html/boay/div[1]/div[3]/input")

2.利用元素屬性進行定位

除使用絕對路徑進行定位外,還可以使用元素屬性進行定位。

如定位釋出部落格按鈕,前端程式碼如下圖


語法:find_elememt_by_xpath("//input[@id='btnPublish']"),//表示當前頁面的某個目錄下,input表示定位元素的標籤名,[@id='btnPublish']表示這個元素的id是btnPublish。

同樣也可以寫為:find_elememt_by_xpath("//input[@class='btn btn-outline-danger']"),如果不想指定標籤名,可以用*代替。find_elememt_by_xpath("//*[@class='btn btn-outline-danger']")

xpath不侷限與id、name、class屬性,凡是可以唯一標識元素的都可以使用。上面的釋出部落格按鈕定位也可以寫為:find_elememt_by_xpath("//input[@value='釋出部落格']")

3.層級與屬性結合

如果一個元素沒有唯一可以標識這個元素的屬性值,我們可以通過定位他的父元素,從而定位到改元素。如百度的前端程式碼。


我們要想定位百度的搜尋按鈕,我們可以這樣定位:find_element_by_xpath("//span[@id='s_btn_wr']/input")

當然也可以直接定位到他爺爺的那層級,這時候可以這樣寫:find_element_by_xpath("//form[@id='form']/span/input")

4.使用邏輯運算子

如果有一段這樣的前段程式碼:

.....

<input id='kw' class='dd' name='ss'>

<input id='kw' class='aa' name='ss'>

<input id='se' class='aa' name='ss'>

......

我們要定位第二個元素,此時我們可以通過and邏輯運算子定位該元素,語法:find_element_by_xpath(//input[@id='kw' and @class='aa']")

相關推薦

selenium元素定位XPath

XPath是XML文件中定位元素的一種語言,HTML可以看成一種XML文件。XPath定位也是所有定位元素的方法中用的最多的,這塊必須要掌握。1.絕對路徑定位可以通過瀏覽器開發者模式找到要定位的元素,如下圖操作。語法:find_element_by_xpath("/html/

Selenium元素定位頁面檢測技巧

  在進行web自動化測試的時候進行XPath或者CSS定位,需要檢測頁面元素定位是否正確,如果用指令碼去檢測,那麼效率是極低的。 一般網上推選裝額外的外掛來實現頁面元素定位檢測 如:firebug。 其實F12開發者工具就能直接在頁面上檢測元素定位不需要裝額外的外掛。 有2種方式:

Robot Framework自動化測試-元素定位xpath

用xpath定位元素幾乎是萬能的了,可以定位到99%的元素; 如果一個元素沒有id 沒有name那我們該怎麼定位該元素了,第一想到的就是用xpath了。 在網上copy了一段程式碼,就以這個做說明吧,xpath定位元素分相對路徑和絕對路徑,主要說明下相對路徑的用法。 示例程式碼如下

六.python+selenium元素定位tag_name二次定位

tag_name是使用標籤進行定位 這裡用自己寫了一個HTML來進行演示,請點選下載HTML中的lizi.html  密碼:ww8k 首先定位到lizi中的選項下拉框標籤,就是點選一下Volvo定位該元素: 該元素是屬於select+option構成,那麼先根據tag_

Selenium自動化測試Xpath網頁元素定位

XPath 是一門在 XML 文件中查詢資訊的語言。XPath 可用來在 XML 文件中對元素和屬性進行遍歷。XPath雖然是被設計用來搜尋XML文件的,不過它也能很好的在HTML文件中工作,並且大部分瀏覽器也支援通過XPath來查詢節點。 xpath的作用就

【Python】Selenium元素定位錯誤解決辦法

tor log -m alt src 多個 common nbu invalid 當使用class定位元素時發現報錯: 錯誤信息:selenium.common.exceptions.InvalidSelectorException: Message: Compound

Selenium+Java元素定位

art pin log 技術 path 通過 cli 元素 ndk //通過完全匹配鏈接來定位 driver.findElement(By.linkText("新聞")).click(); //通過部分匹配鏈接來定位 driver.findElement(By.par

Java + selenium 元素定位(3)By TagName

input 等等 網頁 news ren pub static 做的 bug 本篇介紹findElement接口中的By TagName方法。首先,要知道什麽是tagname。之前我們使用F12開發者工具查看網頁元素是,發現每行代碼前都有<input&g

selenium基礎:元素定位css_selector和軸定位

  selenium提供了非常豐富的元素定位方式,下面一張思維導圖是我根據工作經驗總結的定位元素方式,還是比較全的       本篇部落格重點介紹css_selector定位和軸定位  一 軸定位 軸名稱 ancestor:祖先節點,

python+selenium元素定位--xpath定位--層級與邏輯組合定位

其他元素非唯一時,又不想用xpath絕對定位時,需要用到層級與邏輯定位.例:百度介面,在搜尋框內輸入“”1.層級屬性結合定位原理:假設元素沒有class、name、id等,可以找父節點元素,父級節點沒有id時,可以繼續往上找id,定位到id元素後,依次往下找。通過標籤定位。層

【Java+Selenium(7)】---- 元素定位詳細解析

    上篇文章介紹到了元素定位以及元素定位的八種方法,本篇詳細介紹這八種元素定位的使用方法。1. id 定位     name 如果把頁面上看元素看作一個人的話,如果我們想找一個人如何去找,那麼這個人一定有其別於其它人的“屬性”,如他的身份證號一定和別人不一樣,他的名字和別

python selenium 元素操作鍵盤操作(五)

兩個 .com multi 模擬 刪除 del escape comm f11 上節介紹了模擬鼠標對元素的操作,本節主要介紹鍵盤對元素的操作,實際過程中鼠標對元素的操作比鍵盤對元素的操作更經常使用,但是鍵盤對元素的操作也很重要,本節主要介紹一下鍵盤對元素的操作。 selen

Selenium-元素定位與操作

標簽 隨著 link 插件 麻煩 路徑 操作 _id 快捷 UI的自動化本質就是識別元素,操作元素,而元素的識別就是通過HTML的標簽和屬性,所以對於基本的HTML的只是是必備的 隨著頁面復雜度的提升,加之很多公司的開發也沒有統一規範,這就給識別元素造成了非常大的麻煩,非常

selenium元素定位大全

alt ddd 進行 type http find bdd 技術 其他 要做自動化,首先要了解頁面結構,要了解頁面結構,就要了解頁面元素的定位方法 在使用selenium webdriver進行元素定位時,通常使用findElement或findElements方法結合By

selenium元素定位方法介紹

定位元素定位方法元素名稱webdriver APIidfind_element_by_id()namefind_element_by_name()class namefind_element_by_class_name()tag name find_element_by_tag_name()link text

selenium元素定位

div partial xxx 頂部 text inpu 運算 信息 _id find_element_by_id html中id=‘xxxx’,頁面中id是唯一的 find_element_by_name html中name=’xxxx’ 可以有多個,如果出現多個,使用f

Java Selenium - 元素定位

選擇 很好 www. item 兩種方法 mage println ava chrom 一,單個元素對象定位 Webdriver通過findElement() , findElements()等方法調用By對象來定位和查詢元素 , findElement()返回一個元素對象

selenium元素定位(三)

瀏覽器 war art style link 問題 cond val 最大   使用selenium就不可避免的要提到界面元素定位,通過元素定位來實現一系列的邏輯操作。   selenium提供了8中元素定位的方式:     id、name、class name、tag n

selenium-元素定位

button In 功能 程序員 很多 lin 超鏈接 path att selenium元素的定位方式主要有八種: 要保證用此定位方法定位到的元素是唯一的。 1、By_id 2、By_name 3、By_className(元素的css樣式) 4、By_tagName(元

java+selenium元素定位元素操作

cti 彈出對話框 fix gen cte rate title 取消 上傳 1.元素定位 ID定位元素: findElement(By.id(“”)); 通過元素的名稱定位元素: findElement(By.name(“”)); 通過元素的html中的位置定