java partial关键字_Java + selenium 元素定位(2)之By LinkText/PartialLinkText

本章介绍的两种方法都是对于网页上的文字链接的定位操作。根据名字,我们就可以看出来,这两者其实很相似,那么他们的不同在哪里呢。

By LinkText()方法,是对一个的网页超链接,我们所需要输入的关键字为该超链接的所有文字。

By PartialLinkText()方法,看到part这个单词我们就可以知道,当这个文字超链接太长时,我们不想输入那么多的字,就可以调用这个方法,主要输入属于这个超链接文字的部分就可以了。当然,为了防止因为文字出现位置太多,定位失败,建议选择的字符要有唯一性。

7ce774bfafa36136f3f77dea6ad309df.png

这里接着使用百度首页为例子,例子为图中红框内容,代码展示如下:

importorg.openqa.selenium.By;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.chrome.ChromeDriver;public classFindElement_LinkText {public static void main(String[] args) throwsException {

System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");

WebDriver driver= newChromeDriver();

driver.manage().window().maximize();

driver.get("https://www.baidu.com");//By linkText 查找元素

driver.findElement(By.linkText("新闻")).click();

Thread.sleep(1000);

//返回百度首页

driver.navigate().back();

Thread.sleep(1000);//By PartialLinkText 查找元素

driver.findElement(By.partialLinkText("设为主页")).click();

}

}

代码中出现的Thread.sleep(),是停顿的意思,括号中的数字单位为ms。加上这段代码是为了保证整个程序的可执行性。因为在实际操作做,经常出现代码报错,说定位不到元素。后来经过个方面的查证,发现不是元素定位错了,而是因为在页面跳转的时候,可能加载速度比较慢,跟不上代码执行速度,导致的元素定位失败。所以在出现页面跳转或者转变的时候,都建议在该行代码下加一个Thread.sleep()操作,让代码等待页面加载完成之后再执行,可以避免出现这种以为网页加载慢导致的元素定位失败错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值