我正在使用Selenium Webdriver使用C#进行自动化测试。
我将尝试通过一个例子解释我的问题。
我在某些搜索网站中搜索特定字词,例如www.google.com,并获得多页结果。
现在,我试图通过遍历所有搜索结果页来找到搜索结果中特定链接/文本的存在。
希望有人能帮助我解决这个问题。
提前致谢。
修改
以下是我的一些代码:
static void Main(string[] args) {
IWebDriver d1 = new FirefoxDriver();
d1.Navigate().GoToUrl("cocodle.com/";);
IWebElement e1 = d1.FindElement(By.Name("q"));
e1.SendKeys("Selenium");
IWebElement e2 = d1.FindElement(By.Name("sa")); e2.Submit();
}
答案 0 :(得分:1)
您可以尝试定位获取要迭代的元素列表。
ReadOnlyCollection<IwebElement> elements = driver.FindElements(By.tagname("a"));
foreach (IWebElement element in elements)
{
if (element.Text.equals("Searched text"));
// Perform Acrion on
}
答案 1 :(得分:0)
我不确定这种语法是否正确但是这个呢?
IWebElement e3 = d1.FindElement(By.Link("4")); e3.Click();
再次不确定语法,但我希望你明白这个想法。这是一种非常原始的方法,只有在页面上有一个包含文本“4”的链接时,它才有效。但由于这是一个谷歌搜索结果,它不会很容易自动化。