我没有收到文字,而是得到这样的内容: [ing] 它应该是:优质绿茶。
Browser.FindElement(By.CssSelector(".prod-ing")).Text;
HTML:
<p class="prod-ing">Premium green tea</p>
浏览器和html文件中的文本都正确显示。
属性如
的的textContent
的 outerText
的的innerText
的的innerHTML
给出相同的结果。
答案 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"
我总是将标签名称与类名称一起包含在额外的特定位置。这样,如果将来页面发生变化,您将降低将其他标签与相同类名匹配的机会。