我遇到的問題是,我試圖在超過5次轉發的網頁上找到第一個元素的xPath。我正在嘗試使用testNG文件在Selenium WebDriver中進行測試。有問題的頁面是以下幾點:如何根據數字找到元素的xpath?
我知道我可以只是點擊右鍵並找到它的元素的Firepath,但我想使代碼動態考慮到新聞網站是一個動態以及。
如果任何人可以讓我知道如何做到這一點,或者可以指向一個綜合性的網站,可以教我如何做到這一點,我會非常感激,因爲我還沒有找到的東西。
我遇到的問題是,我試圖在超過5次轉發的網頁上找到第一個元素的xPath。我正在嘗試使用testNG文件在Selenium WebDriver中進行測試。有問題的頁面是以下幾點:如何根據數字找到元素的xpath?
我知道我可以只是點擊右鍵並找到它的元素的Firepath,但我想使代碼動態考慮到新聞網站是一個動態以及。
如果任何人可以讓我知道如何做到這一點,或者可以指向一個綜合性的網站,可以教我如何做到這一點,我會非常感激,因爲我還沒有找到的東西。
這是一個可能的XPath選擇:
//b[@class='kudos-count' and number(.)>5]/ancestor::div[@class='item-wrap li-link']
簡要說明:
//b
:找到所有b
元素的HTML文檔的任何地方...[@class='kudos-count' and number(.)>5]
:...其中class
屬性等於"kudos-count"
和元件,之後轉換爲數字的含量,大於5/ancestor::div
:從這樣b
元件,返回祖先div
元件...[@class='item-wrap li-link']
:...其中class
屬性等於"item-wrap li-link"
。該類別表示包含整個個人消息的div
感謝您解釋如何根據特定方向定位元素。但是,當我嘗試將它放入我的代碼時,出現以下錯誤: 'org.openqa.selenium.NoSuchElementException:無法找到元素:{「method」:「xpath」,「selector」:「b [@ class ='kudos-count'and number(。)> 5]/ancestor :: div [@ class ='item-wrap li-link']「} 命令持續時間或超時時間:10.86秒' – Tscott
它無法找到一個元素。我用下面的:'driver.findElement(By.xpath(「B [@類= '榮譽計數' 和號碼()> 5] /祖先:: DIV [@類= '項目纏繞鋰鏈路' ]「))點擊();' – Tscott
@Tscott看起來像你錯過了''//在的XPath的開頭://'b [@class ....',它使一個真正的區別 – har07
但是這個數字會頻繁變化,那麼您將如何找到元素? –