繁体   English   中英

如何使用 Xpath、css 或 Selenium 中的任何其他定位器在 html 中的结束标记后查找带有“== $0”的元素

[英]How to find element with "== $0" after end tag in html using Xpath, css or any other locators in Selenium

我必须在“span”的结束标签之后找到带有“== $0”的元素。 下面是元素的 HTML 代码。

<div _ngcontent-c6="" class="col-12">
<span _ngcontent-c6="">Registration with prefilled user's data</span>
</div>

虽然当我复制了 html 代码时,它正在删除“== $0”本身。 所以我也附上了图片。

在此处输入图片说明

我试图找出解决方案,但它不起作用。 我试过通常像.//span[text()='Registration with prefilled user's data']一样工作的xpath,但没有成功。 我刚刚发现“我们可以使用语法'$0'在chrome控制台中访问这个元素,它在那里工作正常

在此处输入图片说明

但我不知道如何使用xpathCSS或 Selenium 中任何推荐的定位器策略找到它。

注意:请不要提及任何解决方法,比如使用classNamecss ,类名如div.col-12 span,因为我已经知道了这一点。 我的问题是处理带有== $0 的元素。

所以文本== $0并不完全是你认为的意思。 这只是 Chrome 开发工具的一个功能,而不是页面上的实际元素。 它是开发工具使用的一个属性,允许您通过控制台测试脚本。 这已经在这里讨论,它不会影响 Selenium 在页面上定位元素的能力。

问题可能是您正在使用的选择器,或者可能是 DOM 中隐藏的iframe元素使元素变得模糊。

你可以试试这个 XPath:

//span[contains(text(), "Registration with prefilled user's data")]

我只是用contains(text(), 'text')替换了text()='text'查询,这可能解释了span元素中的任何隐藏空白。

鉴于页面上没有特殊情况,此 XPath 对span元素是正确的。 因此,如果这对您不起作用,建议您发布完整的 HTML 或链接到您正在自动化的页面,以便我们都能更好地帮助您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM