Selenium不显示文字

时间:2016-12-08 18:46:08

标签: javascript c# html selenium selenium-chromedriver

我没有收到文字,而是得到这样的内容: [ing] 它应该是:优质绿茶

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

HTML:

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

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

属性如
的textContent
outerText
的innerText
的innerHTML

给出相同的结果。

Webpage

2 个答案:

答案 0 :(得分:1)

您有2个prod-ing个类,第一个是[ing]个文本。尝试

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

product_detail_copy class是您正在寻找的元素的唯一祖先。

答案 1 :(得分:1)

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

您可以替换多个定位器。我发现工作的一对夫妇

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

我总是将标签名称与类名称一起包含在额外的特定位置。这样,如果将来页面发生变化,您将降低将其他标签与相同类名匹配的机会。