我正在运行一些 C# SeleniumWebDriver
测试,a) 从字典中提取已知链接文本的列表,b) 从目标网站中提取相同的列表,然后 c) 进行比较以查看网页上的任何意外/新/删除。
然而,WebDriver
玩得并不好。
我有一个表示链接文本和链接的键/值列表。
public static IDictionary<topNavigation, string> TabLinkURL
= new Dictionary<topNavigation, string>
{
{ topNavigation.News, "http://www.bbc.co.uk/news/" },
{ topNavigation.Sport, "http://www.bbc.co.uk/sport/" },
{ topNavigation.Weather, "http://www.bbc.co.uk/weather/" }
};
在下面的代码中,我然后从网页中获取链接。
var locateTheLinkSection = Driver.Instance.FindElement(By.XPath("//ul[@class='nav nav-tabs']"));
var actuaLinkSetCount = locateTheLinkSection.FindElements(By.TagName("a"));
List<string> actualLinkList = new List<string>();
foreach (var item in actuaLinkSetCount)
{
actualLinkList.Add(item.ToString());
}
Console.WriteLine("-----------------------------");
Console.WriteLine("The links-text set on the page is:");
int a = 1;
foreach (var link in actualLinkList)
{
Console.WriteLine($" {a}: {link}");
a++;
}
我的想法是我可以将已知链接位置(来自上述字典中的值)与从网页返回的链接进行比较。但是,返回的所有内容是:
The links-text set on the page are:
1: OpenQA.Selenium.Firefox.FirefoxWebElement
2: OpenQA.Selenium.Firefox.FirefoxWebElement
有谁知道如何将链接文本捕获为字符串以将其返回以进行比较或如何将上述内容转换为字符串?
谢谢,
标记。
ToString()
返回表示IWebElement
对象的字符串。相反,使用Text
属性
foreach (var item in actuaLinkSetCount)
{
actualLinkList.Add(item.Text);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句