官术网_书友最值得收藏!

Finding links

Selenium WebDriver provides two special methods to find links on a page. Links can be searched either by their text or by partial text.

Finding links with partial text comes in handy when links have dynamic text. In this recipe, we will see how to use these methods to find links.

How to do it...

Let's create a simple test to see how finding links works in Selenium WebDriver with the following options.

Finding a link by its text

Selenium WebDriver's By class provides the linkText() method to locate links using text displayed for the link. In the following example, we will locate the Gmail link displayed on the Google Home page:

WebElement gmailLink = driver.findElement(By.linkText("GMail"));
assertEquals("http://mail.google.com/", gmailLink.getAttribute("href"));

Finding a link by partial text

Selenium WebDriver's By class also provides a method to locate links using partial text. This method is useful where developers create links with dynamic text. In this example, a link is provided to open the inbox. This link also displays the number of new e-mails, which may change dynamically. Here, we can use the partialLinkText() method to locate the link using a fixed or known portion of the link text, which in this case would be Index. The following code shows an example:

WebElement inboxLink = driver.findElement(By.partialLinkText("Inbox"));
System.out.println(inboxLink.getText());

How it works...

The linkText and partialLinkText locator methods query the driver for all the links that meet the specified text and return the matching link(s).

There's more...

You can also locate links using the id, name, or class attributes, if developers have provided these attributes.

Note

Locating elements based on text can cause issues while testing applications in multiple locales. Using parameterized text locator values could work in such scenarios.

See also

  • The Finding an element using the findElement method recipe
  • The Finding elements using findElements method recipe
主站蜘蛛池模板: 文水县| 普兰店市| 葫芦岛市| 孟津县| 滨州市| 铜山县| 皮山县| 田林县| 孙吴县| 正宁县| 巩义市| 车险| 北流市| 沭阳县| 沾益县| 阜新市| 嘉黎县| 遂昌县| 湘潭县| 昌吉市| 乐陵市| 怀宁县| 远安县| 五指山市| 襄垣县| 尤溪县| 隆回县| 铜川市| 内丘县| 怀安县| 文水县| 酒泉市| 大姚县| 灌阳县| 祁东县| 宝山区| 柳江县| 寻乌县| 淮南市| 通州区| 香格里拉县|