2015-06-09 92 views
0

我希望你能幫助我,我使用硒web驅動程序,並且我想在網站中找到特定的元素。我嘗試使用cssSelector和xpath,但我有一個InvalidSelectorException和NoSuchElementException。請參閱以下屏幕截圖瞭解更多詳情。無法使用cssSelector和xpath查找元素

I'm trying to locate the BACK TO HOME button

By using firebug I was able to see the underlying HTML code of the BACK TO HOME button

我試圖找到BACK TO HOME按鈕。 通過使用螢火蟲,我能夠看到BACK TO HOME按鈕的底層HTML代碼。 我不熟悉如何處理突出顯示的HTML代碼,因爲大多數情況下,鏈接通常有一個名稱,並且cssSelector = linkText(「鏈接名稱」)可以解決問題,並且快速複製xpath命令可以輕鬆找到元件。但在這種情況下,cssSelector和xpath都不起作用。

如何找到這種HTML代碼?

+0

你使用了什麼CSS選擇器或XPATH? – TheFisch

+0

您可以使用FF的FirePath插件爲頁面上的任何元素找到正確的XPATH。 –

+0

@Ivan Litskevich我已經使用了Firepath它可以識別xpath,但是當我將它與java代碼一起執行時,它無法識別元素 – zlloyd

回答

1

您可以嘗試使用XPath作爲

//img[contains(@src,'home.gif')] 

因爲這裏包含方法用於你可以使用src屬性的任何字符串。

+0

我得到了一個InvalidSelectorException異常。這裏是我用 'WebElement backToHome = driver.findElement代碼(By.xpath( 「\\ IMG [含有(@src, 'home.gif')]」));' \t \t \t \t \t \t '如果(backToHome.isDisplayed()) \t \t \t { \t \t \t \t backToHome.click(); \t \t \t}其他 \t \t \t { \t \t \t driver.findElement(By.linkText( 「家」))點擊()。 \t \t \t} – zlloyd

+0

您正在使用Backward Slash By.xpath(「\\ img [contains(@src,'home.gif')]。請使用正確答案。 – Arun

+0

我將斜槓改爲反斜槓,現在我有NoSuchElementException。 – zlloyd

0

我已經解決了這個問題。問題不在xpath上,它在代碼上。我試圖找到不在頁面中的元素。我把我的xpath代碼放在元素所在的頁面上。

相關問題