首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Selenium没有这样的元素:找不到元素

Java Selenium没有这样的元素:找不到元素
EN

Stack Overflow用户
提问于 2018-10-18 01:38:17
回答 1查看 50关注 0票数 2

我正在尝试定位一个linkText为“T恤”的网页元素。我首先定位了父类,然后尝试定位元素。我打印了其父对象的标记名,它按预期工作。但是我既无法使用linkText也无法使用partialLinkText定位该元素。该网页为http://automationpractice.com/index.php

代码语言:javascript
复制
    WebElement tshirts_tab = driver.findElement(By.cssSelector(".sf-menu.clearfix.menu-content.sf-js-enabled.sf-arrows"));
    System.out.println(tshirts_tab.getTagName());
    WebElement tshirts = tshirts_tab.findElement(By.partialLinkText("T-shirts"));

    System.out.println(tshirts.getAttribute("href"));

html inspect

EN

回答 1

Stack Overflow用户

发布于 2018-10-18 15:29:28

试一试

代码语言:javascript
复制
WebElement tshirts = tshirts_tab.findElement(By.partialLinkText("T-SHIRTS"));

代码语言:javascript
复制
WebElement tshirts = tshirts_tab.findElement(By.linkText("T-SHIRTS"));

根据WebDriver规范https://www.w3.org/TR/webdriver1/#link-text

“将rendered 设为通过调用获取元素的元素文本而返回的值。”

在您的示例中,您可以看到通过linktext查找的元素具有样式"text-transform: uppercase;",它实际上将文本呈现转换为大写。

您可以使用不同的定位器找到此元素,然后调用.getText()方法并看到它实际上返回“T恤”。因此,调用linkText时也应该提供“T恤”(呈现的文本)作为参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52860651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档