我正在使用Selenium进行A / B测试我的网页,但不知怎的,我没有得到我应该的不同体验。 我尝试使用
删除cookiedriver.manage().deleteAllCookies() ;
但这似乎不起作用。
我认为解决方法是使用Robot.java并使用击键模拟浏览器历史记录删除。这是代码:
public static void main(String args[]) {
WebDriver driver = new FirefoxDriver();
driver.get("http://booking.com");
Keyboard keyboard = ((RemoteWebDriver) driver).getKeyboard();
keyboard.pressKey(Keys.COMMAND);
keyboard.pressKey(Keys.SHIFT);
keyboard.pressKey(Keys.DELETE);
keyboard.releaseKey(Keys.DELETE);
keyboard.releaseKey(Keys.SHIFT);
keyboard.releaseKey(Keys.COMMAND);
try {
Thread.sleep(5000);
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (AWTException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
keyboard.pressKey(Keys.ENTER);
keyboard.releaseKey(Keys.ENTER);
Alert alert = driver.switchTo().alert();
alert.accept();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("done clering history");
}
这会在我的firefox浏览器中打开历史记录对话框,但不会按回车键执行删除并保持卡住状态。应该怎么做才能完成这项任务?除了机器人之外还有其他办法实现这一目标吗?请建议。
注意:我使用的是Mac,但没有找到AutoIt的替代品。
答案 0 :(得分:0)
让我用Windows操作系统和Firefox浏览器给你答案。对于其他操作系统遵循相同的逻辑
在Windows FF中,将历史记录存储在%APPDATA%\ Mozilla \ Firefox \ Profiles文件夹下名为places.sqlite的文件中。关闭浏览器后尝试删除它。
尝试机器人会引入鼠标点击位置的不确定性,这也是一个漫长的过程。
编写一个小型Java util(或者您拥有的任何语言),只需清理目录。
virender http://toolsqa.com
答案 1 :(得分:0)