如果我们搜索任何输入,我会得到多个表数据。 我们有"显示为文本链接"出现在不同的表格行中我们需要点击。
我已经编写了一个代码,它在一台机器上的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浏览器的不同系统中无法正常工作!
答案 0 :(得分:1)
试试这个
WebElement element = driver.findElement(By.id("id_of_element"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
Thread.sleep(500);
答案 1 :(得分:-1)
你需要减去窗口的高度,检查animate jquery库以向下滚动调用另一个函数。
$("html, body").animate({ scrollTop: $(document).height()-$(window).height() });