一尘不染

使用Selenium webdriver查找元素

selenium

希望你一切都好。我对selenium很陌生,对于堆栈溢出来说是一个新手,所以我希望我不会在这里违反任何规则。

我正在尝试使用以下内容创建测试框架和一些测试

C#,Selenium WebDriver,SpecFlow,NUnit

我目前正在对SQL Server数据库运行查询以检索一些文本,然后尝试使用该文本来验证和搜索站点上的该元素。我的问题是该网站已将元素html编码

例如:

从数据库中检索到的数据可能类似于“交付的Alumina MB中国冶金级……”。

该站点上的元素如下:

<span class="com">Alumina&nbsp;MB&nbsp;China&nbsp;metallurgical&nbsp;grade&nbsp;delivered&nbsp;duty&nbsp;paid&nbsp;RBM/tonne</span>

有谁知道我如何将从数据库中检索到的数据解析为findElement命令,以便在包含以下内容的站点上轻松找到该元素 &nbsp;

期待您的回音。

非常感谢苏班


阅读 240

收藏
2020-06-26

共1个答案

一尘不染

尝试使用 System.Web.HttpUtility.HtmlDecode* 转义html字符 *

这个对我有用:

var escaped = System.Web.HttpUtility.HtmlDecode(".//span[text()='Alumina&nbsp;MB&nbsp;China&nbsp;metallurgical&nbsp;grade&nbsp;delivered&nbsp;duty&nbsp;paid&nbsp;RBM/tonne']");
IWebElement element = driver.FindElement(By.XPath(escaped));
2020-06-26