我有一个方法可以通过Xpath找到元素并执行Click操作,但是如果元素在下一页可用,我该怎么做呢?我知道我可以找到下一页的xpath,然后单击它并浏览它。但我也想回到最初的页面。
例如,我通过xpath找到了20个元素:
IList<IWebElement> Test= SeleniumDriver.WebDriver.FindElements(By.Xpath(""));如果上面找到了20个元素,那么我将运行foreach循环。所以它可以做我需要的所有动作,但如果第一页只有10个元素,那么我如何才能转到下一页来找到其余的元素。同样在“测试”中,我没有得到所有元素的顺序。因此,我的foreach循环将找到第一个2,也可能是它试图找到的第三个,它将转到下一页,所以我必须转到下一页,找到元素,验证它,然后返回到初始页。
如果有什么简单的方法,请告诉我。
发布于 2015-10-13 13:32:22
您可以编写类似以下内容的逻辑
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
}发布于 2015-10-13 13:49:56
如果你有一个包含信息的表格,你将有一个按钮转到下一页(如果它存在),所以你需要做的就是像你在while循环中做的那样获取元素,并检查next按钮是否存在,如果存在,点击它,重复获取元素,直到按钮存在
最好的方法是(伪代码):
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);https://stackoverflow.com/questions/33093176
复制相似问题