我正在嘗試點擊使用xpath的「stackoverflow」主頁上的「登錄」鏈接,如下所示。但沒有成功用於登錄的Xpath
driver.findElement(By.xpath(「// a [contains(text(),'log in')]」))。click();
請幫助我在這裏失蹤。
- 感謝
我正在嘗試點擊使用xpath的「stackoverflow」主頁上的「登錄」鏈接,如下所示。但沒有成功用於登錄的Xpath
driver.findElement(By.xpath(「// a [contains(text(),'log in')]」))。click();
請幫助我在這裏失蹤。
請使用以下XPath:
//a[@class='login-link'][text()='log in']
我親自試過,並與我一起工作。希望能幫助到你。
,你已經在你的問題使用的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']
試試這個:
driver.findElement(By.xpath("//a[@class='login-link' and .='log in']").click();
以上XPath匹配<a>
標籤有class
attri bute等於"login-link"
,內部文本等於"log in"
。
一般提示:總是比text()
更喜歡.
。當你必須特別使用text()
來過濾元素時,非常罕見的情況。