2014-01-21 30 views
0

我正在尋找功能來尋找鏈接是否存在於網頁中。如果鏈接存在,則打印鏈接「鏈接找到!」。xpath可以用來從網站上搜索鏈接嗎?

例如:(我想找到XPATH 「123」)的 「href」 屬性

driver.findElement(By.xpath ("123")); 
if (the xpath found the "123"){ 
    System.out.printIn ("link found") 
} else { 
    System.out.printIn ("missing link..") 
} 

回答

1

假設您使用的是Selenium Webdriver

API

WebElement findElement(通過用)

查找使用 給定方法中的第一WebElement。此方法受執行時的「強制等待」時間影響。 findElement(..)調用將返回一個匹配的行,或者重複嘗試,直到達到配置的 超時時間。 findElement不應用於查找 不存在的元素,請使用findElements(By)並聲明零長度爲 的響應。

所以,你的代碼可能會是這個樣子:

List<WebElement> allElements = driver.findElements(By.xpath("123")); 
if (allElements == null || allElements.size() == 0) { 
    System.out.printIn ("missing link..") 
} else { 
    System.out.printIn ("link found") 
} 
+0

是的,我使用硒webdriver .. 感謝您的解決方案! :d – sssheng

0

Find鏈接? '//a[@href="http://www.example.com/somepage"]'

通過鏈接的文本顯示鏈接? '//a[normalize-space(.)="Some text link"]'

+0

類似的東西 driver.findElement(By.xpath(」 .//*臺/ TBODY/TR [2]/TD /表/ TBODY/TR/TD [1] /表/ tbody的/ TR [1]/TD /表/ tbody的/ TR/TD /表/ tbody的/ TR [6]/TD [3] /標籤「)); – sssheng