gpt4 book ai didi

java - 循环浏览 Web 元素并单击每个链接

转载 作者:行者123 更新时间:2023-12-01 16:46:43 24 4
gpt4 key购买 nike

嗨,我的代码有效,我的目标是循环遍历表中的每个元素,然后单击该元素,这样我就可以转到下一页,基本上我想这样做

1 click element form drop down
2 //code some stuff
3 Go back
4 click next element from drop down
5 code some stuff and etc

我的代码:

List<WebElement> CCTable = driver.findElements(By.id("companyIdBarCompListGrid_rows_scrollpane"));
for ( WebElement client: CCTable) {
System.out.println("\n"+client.getText().substring(0, 20)+"\n");
client.click();
Thread.sleep(10000);

}

enter image description here

我的问题是它在 eclipse ** 的 **控制台中查找并打印出文本,但它没有单击链接或每个链接。

我正在尝试遵循此处的建议 https://sqa.stackexchange.com/questions/12790/how-to-iterate-over-a-collection-of-items-in-selenium-webdriver但没有成功任何帮助将不胜感激。

如果我做错了什么,请帮助我。任何帮助将不胜感激

<小时/>

PP_OBJ_CycleData.CCdropdown(driver).click();

    List<WebElement> CCTable = driver.findElements(By.cssSelector("div#companyIdBarCompListGrid_rows_scrollpane table tbody tr[id*=companyIdBarCompListGrid_] td span div a"));
// inner 4 loop
for ( WebElement ccode: CCTable) {

System.out.println("\n"+ccode.getText().substring(0, 20)+"\n");
System.out.println("Number of links: " + CCTable.size());
Thread.sleep(3000);

ccode.click();



Thread.sleep(5000);

driver.findElement(By.xpath("//*[@id='companyIDBarContentPane']//span"));

}// End Inner 4 loop



PP_OBJ_CycleData.ReturnToSupport(driver);

这也是在 Eclipse 控制台中:

enter image description here

似乎获取文本没有获取其他公司代码名称。点击第一个名字后,它不再循环,我点击我得到org.openqa.selenium.StaleElementReferenceException:过时的元素引用:元素未附加到页面文档。

最佳答案

问题是你识别了错误的东西

ID 指向 DIV。并且只有一个 DIV;没有什么可迭代的。虽然 DIV 是可点击的,但点击 DIV 不会执行任何操作。

相反,您需要找到 A 标签。这在表格中可能非常困难;而且所有的 ID 都没有真正的帮助。

基本上你想要一些效果:

List<WebElement> CCTable = driver.findElements(By.cssSelector("div#companyIdBarCompListGrid_rows_scrollpane table tbody tr[id*=companyIdBarCompListGrid_] td span div a");

你可能需要玩一下它。您可以在 List 声明之后添加此行:

System.out.println("Number of links: " + CCTable.size());

当它符合您的期望时,您就找到了正确的 findElements 字符串。

关于java - 循环浏览 Web 元素并单击每个链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49161689/

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