javascript - Selenium 不显示文本

标签 javascript c# html selenium selenium-chromedriver

我得到的不是文本,而是这样的:[ing] 它应该是:Premium green tea

Browser.FindElement(By.CssSelector(".prod-ing")).Text;

HTML:

<p class="prod-ing">Premium green tea</p>

在浏览器和 html 文件中文本都正确显示。

类似
的属性 文本内容
outerText
innerText
innerHTML

给出相同的结果。

Webpage

最佳答案

始终在浏览器开发控制台中测试您的选择器。将 $$() 用于 CSS 选择器,将 $x() 用于 XPath。它将为您节省大量时间和挫折感。在这种情况下,如果您执行 $$(".prod-ing").length,您将看到有两个元素与此定位器匹配。

有几个定位器可以替代。我发现工作的一对夫妇是

"section.product_detail_copy p.prod-ing"
"section.product-description-template-target p.prod-ing"

为了更加具体,我总是将标签名称与类名称一起包含在内。这样,如果将来页面发生变化,您将降低匹配具有相同类名的其他标签的机会。

关于javascript - Selenium 不显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41046689/

相关文章:

javascript - 输入 Onclick 按钮 功能

javascript - 组捕获上的字符串替换和操作

javascript - 不使用触摸文本区域调用功能?

C# LINQ 嵌套选择查询

javascript - 将参数从服务器对象传递到 JavaScript 的最佳方式

javascript - 如何检测谷歌网络字体何时准备好并显示在页面中?

c# - c#/net/中的串行通信编程结构

html - 使菜单和图像出现在同一行

javascript - 一键点击生成所有结果 - Javascript

c# - JSON.NET 默默地忽略循环引用并将链中的任意链接设置为 null 以解决它们