首页
学习
活动
专区
圈层
工具
发布
1
《手把手教你》系列基础篇之(一)-java+ selenium自动化测试-环境搭建(上)(详细教程)
2
《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)
3
《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程)
4
《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程)
5
《手把手教你》系列基础篇(五)-java+ selenium自动化测试- 创建首个自动化脚本(详细教程)
6
《手把手教你》系列技巧篇(六)-java+ selenium自动化测试-阅读selenium源码(详细教程)
7
《手把手教你》系列技巧篇(七)-java+ selenium自动化测试-宏哥带你全方位吊打Chrome启动过程(详细教程)
8
《手把手教你》系列技巧篇(八)-java+ selenium自动化测试-元素定位大法之By id(详细教程)
9
《手把手教你》系列技巧篇(九)-java+ selenium自动化测试-元素定位大法之By name(详细教程)
10
《手把手教你》系列技巧篇(十)-java+ selenium自动化测试-元素定位大法之By class name(详细教程)
11
《手把手教你》系列技巧篇(十一)-java+ selenium自动化测试-元素定位大法之By tag name(详细教程)
12
《手把手教你》系列技巧篇(十二)-java+ selenium自动化测试-元素定位大法之By link text(详细教程)
13
《手把手教你》系列技巧篇(十三)-java+ selenium自动化测试-元素定位大法之By partial link text(详细教程)
14
《手把手教你》系列技巧篇(十四)-java+ selenium自动化测试-元素定位大法之By xpath上卷(详细教程)
15
《手把手教你》系列技巧篇(十五)-java+ selenium自动化测试-元素定位大法之By xpath中卷(详细教程)
16
《手把手教你》系列技巧篇(十六)-java+ selenium自动化测试-元素定位大法之By xpath下卷(详细教程)
17
《手把手教你》系列技巧篇(十七)-java+ selenium自动化测试-元素定位大法By css上卷
18
《手把手教你》系列技巧篇(十八)-java+ selenium自动化测试-元素定位大法之By css中卷(详细教程)
19
《手把手教你》系列技巧篇(十九)-java+ selenium自动化测试-元素定位大法之By css下卷(详细教程)
20
《手把手教你》系列技巧篇(二十)-java+ selenium自动化测试-元素定位大法之终卷(详细教程)
21
《手把手教你》系列技巧篇(二十一)-java+ selenium自动化测试-浏览器窗口的句柄(详细教程)
22
《手把手教你》系列技巧篇(二十二)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换上卷(详细教程)
23
《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
24
《手把手教你》系列技巧篇(二十四)-java+ selenium自动化测试-三大延时等待(详细教程)
25
《手把手教你》系列技巧篇(二十五)-java+ selenium自动化测试-FluentWait(详细教程)
26
《手把手教你》系列技巧篇(二十六)-java+ selenium自动化测试-浏览器操作(详细教程)
27
《手把手教你》系列技巧篇(二十七)-java+ selenium自动化测试- quit和close的区别(详解教程)
28
《手把手教你》系列技巧篇(二十八)-java+ selenium自动化测试-处理模态对话框弹窗(详解教程)
29
《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)
30
《手把手教你》系列技巧篇(三十)-java+ selenium自动化测试- Actions的相关操作下篇(详解教程)

《手把手教你》系列技巧篇(十二)-java+ selenium自动化测试-元素定位大法之By link text(详细教程)

1.简介

本文按计划就要开始介绍link text,顾名思义是通过链接定位的(官方说法:超链接文本定位)。什么是linktext呢,就是我们在任何一个网页上都可以看到有一个或者多个链接,上面有一个文字描述,点击这个文字,就可以跳转到其他页面。这个就是linkText。

2.常用定位方法(8种)

(1)id (2)name (3)class name (4)tag name (5)link text(今天讲解) (6)partial link text (7)xpath (8)css selector

3.自动测试实战

恰好赶上东京奥运会,那宏哥就以百度首页的“奥运奖牌榜 最新排名”为例,给小伙伴或童鞋们实践一下。点击首页那个“奥运奖牌榜 最新排名”链接,观察是否进入到“奥运奖牌榜 最新排名”页面。这里的例子比较简单,意在说明用法。

3.1大致步骤

1.访问度娘首页。

2.通过linkText定位到“奥运奖牌榜 最新排名”按钮,点击一下。

3.2代码设计

3.3参考代码

代码语言:javascript
复制
package lessons;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

/**
 * @author 北京-宏哥
 *
 * 2021年7月28日
 */
public class FindElement_LinkText {
     
    public static void main(String[] args) throws Exception {
        
        System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
        
        WebDriver driver = new ChromeDriver();
        
        driver.manage().window().maximize();
        
        driver.get("https://www.baidu.com");
    
        //By linkText 查找元素
        driver.findElement(By.linkText("奥运奖牌榜 最新排名")).click();
        
        Thread.sleep(1000);
        
        //判断打开页面是不是奥运奖牌榜 最新排名,这里用url作为验证
        assert driver.getCurrentUrl() == "https://www.baidu.com/s?wd=%E5%A5%A5%E8%BF%90%E4%BC%9A&rsv_dl=pc_index_tips";
        
        System.out.println("断言通过!");
        
        driver.close();
    }

    
}

3.4运行代码

1.运行代码,右键Run AS->java Application,控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作,如下小视频所示:

4.小结

好了,到此关于linkText定位(精准匹配)也介绍完了,感谢你耐心的阅读。

linkText也是遵循“匹配第一个”的原则,同一网页多次出现的话找第一个。

5.拓展

因为linkText定位(精准匹配),因为宏哥为了验证猜测,就将“奥运奖牌榜 最新排名”后边的最新排名去掉了,大家猜猜运行代码还能定位到元素进行点击跳转新页面吗,答案:就是不能。

5.1运行代码

1.运行代码,右键Run AS->java Application,控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作,如下小视频所示:

从控制台我们可以看出已经报错了(Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"link text","selector":"奥运奖牌榜 "}),从视频中可以看到进入百度以后,就没有进入奥运奖牌榜的页面。

出现这种情况的原因是:linkText是超链接文本精准匹配,而不是模糊匹配,下一篇宏哥将会讲解linkText的一个加强版partialLinkText(超链接文本模糊匹配)。

下一篇
举报
领券