我有一个方法可以通过Xpath查找元素并执行Click操作,但是如果元素在下一页上可用,我该怎么做?我知道我可以找到下一页的xpath并单击它并查看它。但我也希望回到初始页面。
例如,我有xpath发现的20个元素:
IList<IWebElement> Test= SeleniumDriver.WebDriver.FindElements(By.Xpath(""));
如果上面会找到20个元素,那么我正在运行foreach循环。因此,它可以根据需要执行所有操作,但如果第一页只有10个元素,那么我如何进入下一页以查找剩余的元素。同样在&#34;测试&#34;我没有按顺序获得所有元素。所以我的foreach循环将找到前2个,可能是第3个,它试图找到将转到下一页,所以我必须转到下一页并找到该元素,验证它然后回到初始页面。
如果有任何简单的方法,请告诉我?
答案 0 :(得分:1)
你可以编写像这样的逻辑
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 :(得分:1)
如果您有包含信息的表格,您将有按钮到下一页(如果存在) 所以你需要做的是像你在while循环中那样获取元素,并检查是否存在下一个按钮,如果是,点击它并重复获取元素直到按钮存在
最好的方法是通过(伪代码)来实现:
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);