【发布时间】:2016-10-24 11:35:36
【问题描述】:
我有一个场景,如果我们搜索任何输入,我们将获得多个表数据。 我们在需要点击的不同表格行中有“显示为文本链接”。
我编写了一个代码,它在一台机器上的 IE 中运行良好,由于显示器大小不同,相同的脚本在不同的机器上无法运行!
String rawTextXpath = "//table[@id='view518-table']/tbody/tr[1]/td[4]/div[1]/a[text()='Show as raw text']";
boolean exists = false;
exists = driver.findElements(By.xpath(rawTextXpath)).size() != 0;
if (exists == false) {
system.out.println("No Results found!");
}
int i = 1;
while (exists == true) {
try {
driver.findElement(By.xpath(rawTextXpath)).click();
Thread.sleep(3000);
}
catch (Exception e) {
}
String expandXpath = "//table[@id='view518-table']/tbody/tr[" + i + "]/td[1]/a";
driver.findElement(By.xpath(expandXpath)).click();
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("window.scrollBy(0,150)", "");
rawTextXpath = "//table[@id='view518-table']/tbody/tr[" + (i + 1)
+ "]/td[4]/div[1]/a[text()='Show as raw text']";
exists = driver.findElements(By.xpath(rawTextXpath)).size() != 0;
i++;
}
注意:在上面的脚本中,我将网页滚动 150,它可以在一台机器上的 IE 相同版本中正常工作,而在另一台浏览器中不能使用相同的浏览器
动作是 1. 在每个表格行中点击显示为文本链接,然后点击展开图标
以上代码在同一IE11浏览器的不同系统中无法正常工作,因为显示器大小不同!
【问题讨论】:
-
您遇到了什么错误?
-
它可以点击不同表格行的初始 2 个链接,但不是第 3 个链接,而是点击页面中的其他位置
标签: javascript java selenium selenium-webdriver