硒中“By.partialLinkText”和“By.LinkText”之间的区别?
我试图找到一个基于文本的元素,我可以在维基百科页面上的屏幕上看到。现在,我首先尝试driver.findElement(By.LinkText("English"));
没有结果。 但后来我试着用driver.findElement(By.partialLinkText("English"));
代码下面的代码,它的工作。 有人可以解释我基于该维基百科页面,为什么?因为这个例子非常简单,我不知道为什么driver.findElement(By.LinkText("English"));
不起作用?硒中“By.partialLinkText”和“By.LinkText”之间的区别?
driver.get("http://www.wikipedia.org");
WebElement link;
link = driver.findElement(By.partialLinkText("English"));
link.click();
名称说明了一切。
连结文字:它返回的元素与给定的文本
PartialLinkText回报元素,其中包括给定的文本
我已经看过http://www.wikipedia.org,我看到该链接还包括其他文本元素的精确匹配:
<a ... > <strong>English</strong> <small> <bdi dir="ltr">5 472 000+</bdi> <span>articles</span> </small> </a>
这就是为什么它不会找到的文本,因为它预计仅“英语”
By.LinkText: - 搜索其中存在的确切文本。
By.partialLinkText: - 搜索其中存在的类似文本。
是的,但“英文”是确切的文字,它没有工作! – Suppe
你能分享html代码吗? –
但“英文”是全文。 – Suppe
不包含空格或其他字符吗? –
好问题,当我用Firebug检查元素时,它说'英文'。所以我想没有空间或其他字符 – Suppe