首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium-如何遍历webPage以查找所有必需的元素并执行单击操作

Selenium-如何遍历webPage以查找所有必需的元素并执行单击操作
EN

Stack Overflow用户
提问于 2015-10-13 10:30:51
回答 2查看 3.5K关注 0票数 1

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

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

代码语言:javascript
复制
IList<IWebElement> Test= SeleniumDriver.WebDriver.FindElements(By.Xpath(""));

如果上面找到了20个元素,那么我将运行foreach循环。所以它可以做我需要的所有动作,但如果第一页只有10个元素,那么我如何才能转到下一页来找到其余的元素。同样在“测试”中,我没有得到所有元素的顺序。因此,我的foreach循环将找到第一个2,也可能是它试图找到的第三个,它将转到下一页,所以我必须转到下一页,找到元素,验证它,然后返回到初始页。

如果有什么简单的方法,请告诉我。

EN

回答 2

Stack Overflow用户

发布于 2015-10-13 13:32:22

您可以编写类似以下内容的逻辑

代码语言:javascript
复制
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

}
票数 1
EN

Stack Overflow用户

发布于 2015-10-13 13:49:56

如果你有一个包含信息的表格,你将有一个按钮转到下一页(如果它存在),所以你需要做的就是像你在while循环中做的那样获取元素,并检查next按钮是否存在,如果存在,点击它,重复获取元素,直到按钮存在

最好的方法是(伪代码):

代码语言:javascript
复制
do
{
IList<IWebElement> Test= SeleniumDriver.WebDriver.FindElements(By.Xpath(""));

//HERE YOU CHECK IF BUTTON EXIST
if(isElementPresented(By.Id("")))
{
driver.FindElement(By.Id("")).Click;
}
else
{
//if button not exists
buttonExist = false;
}
}while(buttonExist);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33093176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档