2014-10-10 57 views
0

我正在嘗試點擊使用xpath的「stackoverflow」主頁上的「登錄」鏈接,如下所示。但沒有成功用於登錄的Xpath

driver.findElement(By.xpath(「// a [contains(text(),'log in')]」))。click();

請幫助我在這裏失蹤。

  • 感謝

回答

1

請使用以下XPath:

//a[@class='login-link'][text()='log in'] 

我親自試過,並與我一起工作。希望能幫助到你。

0

,你已經在你的問題使用的XPath返回兩個webelements:

<a href=​"https:​/​/​stackoverflow.com/​users/​login?returnurl=http%3a%2f%2fstackoverflow.com%2f" class=​"js-gps-track" data-gps-track=​"site_switcher.click({ item_type:​11 }​)​">​log in​</a>​ 

<a href=​"https:​/​/​stackoverflow.com/​users/​login?returnurl=http%3a%2f%2fstackoverflow.com%2f" class=​"login-link">​log in​</a>​ 

這就是爲什麼硒不能點擊that.So使用

//a[@class='login-link'][text()='log in'] 
0

試試這個:

driver.findElement(By.xpath("//a[@class='login-link' and .='log in']").click(); 

以上XPath匹配<a>標籤有class attri bute等於"login-link",內部文本等於"log in"

一般提示:總是比text()更喜歡.。當你必須特別使用text()來過濾元素時,非常罕見的情況。