我得到的不是文本,而是这样的:[ing] 它应该是:Premium green tea。
Browser.FindElement(By.CssSelector(".prod-ing")).Text;
HTML:
<p class="prod-ing">Premium green tea</p>
在浏览器和 html 文件中文本都正确显示。
类似
的属性
文本内容
outerText
innerText
innerHTML
给出相同的结果。
最佳答案
始终在浏览器开发控制台中测试您的选择器。将 $$() 用于 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/