Selenium webdriver 如何使用Java在Selenium中拍摄可滚动屏幕截图?
我是硒的初学者Selenium webdriver 如何使用Java在Selenium中拍摄可滚动屏幕截图?,selenium-webdriver,Selenium Webdriver,我是硒的初学者 我有一个很长的可滚动表单,它将由自动化脚本填充,是否有一种方法可以在每次向下滚动页面时截图(web驱动程序滚动以填充表单,我没有编写脚本以向下滚动,因为web驱动程序负责处理表单),这样整个表单可以在多个屏幕截图中捕获 您可以捕获任意数量的屏幕截图。填完每一列,填完第三列,随便什么 或者,您可以让webdriver填写整个表单,并使用按pgup/pgdn simulation向上/向下滚动: import java.awt.AWTException; import java.aw
我有一个很长的可滚动表单,它将由自动化脚本填充,是否有一种方法可以在每次向下滚动页面时截图(web驱动程序滚动以填充表单,我没有编写脚本以向下滚动,因为web驱动程序负责处理表单),这样整个表单可以在多个屏幕截图中捕获 您可以捕获任意数量的屏幕截图。填完每一列,填完第三列,随便什么 或者,您可以让webdriver填写整个表单,并使用按pgup/pgdn simulation向上/向下滚动:
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
Robot rob = new Robot();
rob.keyPress(KeyEvent.VK_PAGE_DOWN);
rob.keyRelease(KeyEvent.VK_PAGE_DOWN);
我会这样做的。每次轻扫都可以截图,就像步骤截图一样 以下是截图的部分代码:
public static String takeScreenshot(WebDriver driver) {
driver.get("http://www.google.com/");
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
// Now you can do whatever you need to do with it, for example copy somewhere
File dest = new File("c:\\tmp\\screenshot.png");
FileUtils.copyFile(scrFile, dest);
return dest.getAbsolutePath();
}
下面是垂直滑动的代码:
public static void swipeVertical(WebDriver driver) {
Dimension size = driver.manage().window().getSize();
System.out.println(size);
int starty = (int) (size.height * 0.70);
int endy = (int) (size.height * 0.30);
int startx = size.width / 2;
new TouchAction(driver)
.press(startx, starty)
.waitAction(Duration.ofMillis(1000))
.moveTo(startx, endy)
.release()
.perform();
}
因此,我的伪代码如下所示: