gpt4 book ai didi

java - 获取所有导航元素并单击每个导航链接

转载 作者:行者123 更新时间:2023-12-01 20:11:56 26 4
gpt4 key购买 nike

我尝试了太多不同的方法,但确实无法得到我需要的结果。

我需要创建一个自动化来测试并单击所有侧边栏导航链接,这些链接会根据要使用的用户更改内容。因此,我需要收集元素并将其存储到列表中,然后单击每个元素,但似乎无法以这种方式工作。尝试过导航,但无法像点击一样工作,因为它仍然位于相同的 URL 上。

这是我尝试过的代码片段:

public void test2() throws InterruptedException {

driver.get("URL");
owaLoginPage.loginOwnerAccount("var.EMAIL", var.DEFAULT_PASSWORD);
// wait.untilElementVisible(owaDashboardPage.getOwnerWebAccountDropdown());
wait.impWait(50);
List<WebElement> linksize = driver.findElements(By.xpath("//div[@class='sidebar-sticky']//a"));
linksCount = linksize.size();
System.out.println("Total no of links Available: "+linksCount);
links= new String[linksCount];
System.out.println("List of links Available: ");
// print all the links from webpage
for(int i=0;i<linksCount;i++)
{
links[i] = linksize.get(i).getAttribute("href");
System.out.println(linksize.get(i).getAttribute("href"));
System.out.println(linksize.get(i).getText());
driver.navigate().to(links[i]);
wait.impWait(30);
}

执行该代码将返回:

PASSED
Total no of links Available: 7
List of links Available:
http://url/dashboard.html#
Property1
http://url/dashboard.html#
Unit1-1
http://url/dashboard.html#
Property2
http://url/dashboard.html#
Unit2-1
http://url/dashboard.html#
Unit2-2
http://url/dashboard.html#
Property3
http://url/dashboard.html#
Unit3-1

将每个侧边栏元素存储到单独的 xpath 中不是一个选项,因为目标是每次执行时能够使用不同的用户,其中存在不同的侧边栏导航列表。

最佳答案

试试这个

选项1

links[i].click();

选项2

driver.get(links[i]);

选项3

links[i].SendKeys(string.Empty);

选项4

((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].focus();", links[i]);

希望这有帮助。

关于java - 获取所有导航元素并单击每个导航链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58965050/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com