我正在尝试使用 Selenium Webdriver 查找链接。我不想通过链接文本找到它,只有输入的实际链接。这可以通过 xpath 方法使用 Selenium 的 find 元素来完成,但是当我只知道那个 href 文本的开头而不是整个文本时,语法是什么?
我想我正在使用某种以方法开头的 xpath 链接定位器。我没有准备好这方面的代码。
我正在尝试使用 Selenium Webdriver 查找链接。我不想通过链接文本找到它,只有输入的实际链接。这可以通过 xpath 方法使用 Selenium 的 find 元素来完成,但是当我只知道那个 href 文本的开头而不是整个文本时,语法是什么?
我想我正在使用某种以方法开头的 xpath 链接定位器。我没有准备好这方面的代码。
您可以使用start-with
in xpath 来定位以特定文本开头的属性值。
例如,假设您在页面上有以下链接:
<a href="mylink_somerandomstuff">link text</a>
然后,您可以使用以下 xpath 查找具有以“mylink”开头的 href 的链接:
//a[starts-with(@href, "mylink")]
如果您不知道 href 以什么开头,也可以使用 contains:
<a href="link_with_key_word_in.html">Link</a>
要找到此链接,您可以使用:
By.xpath("//a[contains(@href, 'key_word')]"));
只需在 Mozilla Firefox 中安装这些插件:Firebug 和 FirePath。
转到firefox中的链接,并使用F12键调用firebug。
然后选择 FirePath。
单击检查元素按钮并选择元素。它将显示元素的 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.**