【发布时间】:2021-07-21 09:38:28
【问题描述】:
我在回答后更新了问题!
我尝试在网页的列表中查找文本,其中包含类似<p> text </p> 的html 标签。
以下是网页上的截图: Screenshot of text to search for
在“inspect”中,我使用了//*[text()='<p> First do this, then this</p>'],如上图所示。
在代码中我使用这个代码行来查找文本:
webDriver.FindElement(By.XPath("//*[text()='<p> First do this, then this</p>']"))
但是在测试运行期间它给出了这个错误信息:
OpenQA.Selenium.NoSuchElementException:没有这样的元素:无法定位元素:{"method":"xpath","selector":"//*[text()=' 先做这个,再做这个']"}
如您所见,selenium 确实忽略了 html 标签<p> </p>
来自 Cruisepandey 的回答和解决方案:
感谢@cruisepandey,我现在知道,我的文本在文本节点内。 获取文本的唯一方法是使用以下代码:
var ele = webDriver.FindElement(By.XPath("//table[@class='mud-table-root']//tbody/tr[1]/td[2]"));
Console.WriteLine(ele.Text);
这里的输出是:
<p> First do this, then this</p>
【问题讨论】:
-
你能不能也标记你的绑定语言,看起来它是 C# 。另外,我们可以有更多的outerHTML
标签: selenium selenium-webdriver selenium-chromedriver