我正在尝试使用Selenium Webdriver查找链接。我不想通过链接文本找到它,只想输入的实际链接。这可以通过使用Selenium的find元素通过xpath - 方法来完成,但是当我只知道该href文本的开头而不是整个文本时,语法是什么?
我想我正在使用某种方法启动xpath链接定位器。我没有准备好代码。
答案 0 :(得分:24)
您可以使用xpath中的start-with
来查找以特定文本开头的属性值。
例如,假设您在页面上有以下链接:
<a href="mylink_somerandomstuff">link text</a>
然后,您可以使用以下xpath查找具有以“mylink”开头的href的链接:
//a[starts-with(@href, "mylink")]
答案 1 :(得分:4)
如果你不知道href的起源,你也可以使用contains:
<a href="link_with_key_word_in.html">Link</a>
要查找此链接,您可以使用:
By.xpath("//a[contains(@href, 'key_word')]"));
答案 2 :(得分:0)
只需在Mozilla Firefox中安装这些插件:Firebug和FirePath。
转到firefox中的链接,然后使用F12键调用firebug。
然后选择FirePath。
单击inspect元素按钮并选择元素。它将显示元素的xpath。
示例:
<input type = "text" id ="text-checking123"> </input>
元素的Xpath将是
//input[starts-with(@id, 'text-')]
然后在java代码中使用它。
**Please do add comment, if the code works for you. It will help others to view the answer.**