当前位置: 首页 > 面试题库 >

如何在Selenium中找到具有特定文本的跨度?(使用Java)

顾亦
2023-03-14
问题内容

我在使用Java在Selenium中定位span元素时遇到问题。

HTML看起来像:

<div class="settings-padding">

<span>Settings</span>

</div>

我已经尝试了以下方法,但是没有运气:

By.xpath("span[.='Settings']")

By.xpath("span[text()='Settings']")

By.cssSelector("div[class='settings-padding']"))

以及其他一些类似的尝试。您能指出我执行此操作的最佳方法吗?就目前而言,我在日食中不断收到“无法定位元素”错误。


问题答案:

一切xpath看起来都不错,只是语法上有些错误。你失踪//xpath

正确xpath的如下:

By by = By.xpath("//span[.='Settings']")

要么

By by = By.xpath("//span[text()='Settings']")

要么

By by = By.xpath("//div[@class='settings-padding']/span"))

或者您可以cssSelector用作:-

By by = By.cssSelector("div.settings-padding > span"))

使用上面的任何一个通过定位器,您都可以如下所示定位元素:

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement el = wait.until(presenceOfElementLocated(by));

希望能帮助到你…:)



 类似资料:
  • 在此处输入代码我正在对一个电影页面进行web抓取,但它找不到跨度,尽管在xpath中它可以识别它,它找不到文本,当我打印它时,它打印为空。 这是在此处输入图像描述的代码 找到物品的证据请在此处输入图像描述 网址 https://www.cinecolombia.com/cali/peliculas/el-olvido-que-seremosxpath //section@class=“可折叠的显示

  • 我试图用Selenium测试一个复杂的JavaScript接口(使用Python接口,跨多个浏览器)。我有多个表单按钮: 我希望能够搜索基于“我的按钮”(或不区分大小写,部分匹配,如“我的按钮”或“按钮”)的按钮。 我发现这是非常困难的,以至于我觉得我错过了一些明显的东西。到目前为止我所拥有的最好的东西是: 但是,这是区分大小写的。我尝试的另一件事是遍历页面上的所有div,并检查Element.T

  • 问题内容: 这是一个示例代码: 因此,这个位于productOrderContainer中的表有几列,根据几件事,将有几行,每行都有几列。一个例子是: 我想做的是例如获取此表的第一行。(行具有ID ,例如:),然后再次在该行跨度中寻找特定值 所以在伪代码中我想说的是: 给我桌子,给我第n行,给我值 问题答案: 您可以尝试关注 您还可以遍历表行以执行所需的任何功能。

  • 问题内容: 我有以下html(用标记的换行符): 如何查找 我 要查找的 文本 ?下面的代码返回第一个发现的值,因此我需要以某种方式按 固定文本 进行过滤。 更新 。如果我使用以下代码: 然后它只返回 固定文本: 。 问题答案: 您可以将正则表达式传递给的text参数,如下所示:

  • 我正在使用微服务,并使用Spring cloud config server将配置集中存储在GIT Repo中。我有一些特定于应用程序的xml文件,我可以使用以下URL从配置服务器获取xml文件: {Spring-cloud-server-uri}/{name}/{profile}/{label}/{path} {application-name}-{profile-name}.属性 但是根据sp

  • 我的程序需要找到他们的文本以img开头的一系列跨度。该表可能具有多个符合此条件的跨距。格式设置示例: