硒-如何通过网页迭代找到所有必要的元素,并执行点击操作

本文关键字:元素 执行 操作 何通过 网页 迭代 | 更新日期: 2023-09-27 18:17:18

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

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

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

,如果上面找到20个元素,那么我运行foreach循环。所以它可以做所有的行动,因为我需要,但如果第一页只有10个元素,那么我怎么能去下一页找到剩下的那些。同样在"测试",我没有得到所有的元素在顺序。所以我的foreach循环会找到第一个2,可能是第三个,它会去下一页,所以我必须去下一页,找到元素,验证它,然后回到初始页面。

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

硒-如何通过网页迭代找到所有必要的元素,并执行点击操作

你可以这样写逻辑

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
}

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

最好的方法是(pseudocode):

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);