Java + selenium 元素定位(2)之By LinkText/PartialLinkText
2021-07-14 07:04
标签:跳转 链接 str static 页面 tps 分享图片 img void 本章介绍的两种方法都是对于网页上的文字链接的定位操作。根据名字,我们就可以看出来,这两者其实很相似,那么他们的不同在哪里呢。 By LinkText()方法,是对一个的网页超链接,我们所需要输入的关键字为该超链接的所有文字。 By PartialLinkText()方法,看到part这个单词我们就可以知道,当这个文字超链接太长时,我们不想输入那么多的字,就可以调用这个方法,主要输入属于这个超链接文字的部分就可以了。当然,为了防止因为文字出现位置太多,定位失败,建议选择的字符要有唯一性。 这里接着使用百度首页为例子,例子为图中红框内容,代码展示如下: 代码中出现的Thread.sleep(),是停顿的意思,括号中的数字单位为ms。加上这段代码是为了保证整个程序的可执行性。因为在实际操作做,经常出现代码报错,说定位不到元素。后来经过个方面的查证,发现不是元素定位错了,而是因为在页面跳转的时候,可能加载速度比较慢,跟不上代码执行速度,导致的元素定位失败。所以在出现页面跳转或者转变的时候,都建议在该行代码下加一个Thread.sleep()操作,让代码等待页面加载完成之后再执行,可以避免出现这种以为网页加载慢导致的元素定位失败错误。 Java + selenium 元素定位(2)之By LinkText/PartialLinkText 标签:跳转 链接 str static 页面 tps 分享图片 img void 原文地址:https://www.cnblogs.com/zhuxiangru/p/9539619.htmlimport org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
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);
//返回百度首页
driver.navigate().back();
Thread.sleep(1000);
//By PartialLinkText 查找元素
driver.findElement(By.partialLinkText("设为主页")).click();
}
}
文章标题:Java + selenium 元素定位(2)之By LinkText/PartialLinkText
文章链接:http://soscw.com/index.php/essay/104990.html