c# - Selenium-如何迭代网页以查找所有必要的元素并执行单击操作

标签 c# selenium xpath selenium-webdriver webdriver

我有一个通过 Xpath 查找元素并执行单击操作的方法,但是如果元素在下一页上可用,我该怎么做?我知道我可以找到下一页的 xpath,然后单击它并浏览它。但我也想回到初始页面。

例如,我通过 xpath 找到了 20 个元素:

IList<IWebElement> Test= SeleniumDriver.WebDriver.FindElements(By.Xpath(""));

如果上面找到 20 个元素,那么我正在运行 foreach 循环。所以它可以根据我的需要执行所有操作,但如果第一页只有 10 个元素,那么我如何才能转到下一页找到剩余的元素。同样在“测试”中,我没有按顺序排列所有元素。所以我的 foreach 循环将找到前 2 个,可能是它试图找到的第 3 个,将转到下一页,所以我必须转到下一页并找到该元素,验证它,然后返回到初始页面。

请告诉我是否有简单的方法?

最佳答案

你可以编写这样的逻辑

IList<IWebElement> Test= SeleniumDriver.WebDriver.FindElements(By.Xpath(""));
for each WebElement ele {
if(isElementPresent(ele) {
   do Operation with ele
}
 else {
   go to second page
}
if(isElementPresent(ele) 
   do Operation with ele
Go to 1st page

}

关于c# - Selenium-如何迭代网页以查找所有必要的元素并执行单击操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33093176/

相关文章:

c# - 基本对象 WebView 如何在 HTML 树中导航?

c# - 类库 C# 中的应用程序配置

javascript - WebDriver 操作的工作原理

python - 使用 XPath 提取序列子集

javascript - 如何在CasperJS中选择带有命名空间的标签?

c# - 从 URL 中读取 ID 并创建一个新 ID

c# - 在 Asp.Net mvc 的 View 中渲染 View

ruby - 以非 root 用户身份从 ruby​​ 在 Xvfb 中运行 Selenium::WebDriver::Firefox

selenium - selenium webdriver 中的单击命令不起作用

python - 如何使用 python 从嘈杂的文件中解析出 xml