Java 使用Robot类删除浏览器历史记录
我正在使用Selenium对我的网页进行A/B测试,但不知何故,我没有得到我应该得到的不同体验。 我尝试使用Java 使用Robot类删除浏览器历史记录,java,selenium,awt,browser-history,awtrobot,Java,Selenium,Awt,Browser History,Awtrobot,我正在使用Selenium对我的网页进行A/B测试,但不知何故,我没有得到我应该得到的不同体验。 我尝试使用 driver.manage().deleteAllCookies() ; 但这似乎不起作用 我认为一个解决方法是使用和模拟浏览器历史记录,使用按键删除。代码如下: public static void main(String args[]) { WebDriver driver = new FirefoxDriver(); driver.get("http
driver.manage().deleteAllCookies() ;
但这似乎不起作用
我认为一个解决方法是使用和模拟浏览器历史记录,使用按键删除。代码如下:
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浏览器中打开“历史记录”对话框,但不会按enter键执行删除操作,并且会一直被卡住。执行此任务应该做些什么?除了机器人,还有其他方法可以实现这一点吗?请建议
注意:我使用的是Mac,还没有找到任何AutoIt的替代品。让我用windows操作系统和Firefox作为浏览器来回答这个问题。对其他操作系统遵循相同的逻辑
在Windows中,FF将历史记录存储在%APPDATA%\Mozilla\Firefox\Profiles文件夹下名为places.sqlite的文件中。请在关闭浏览器后尝试删除它 尝试机器人会带来鼠标点击位置的不确定性,这也是一个漫长的过程 编写一个小的javautil(或者任何你有的语言),然后清理目录 维伦德 您可以使用而不是AutoIT Sikuli会自动处理你在屏幕上看到的任何东西。它使用图像识别来识别和控制GUI组件。当无法轻松访问GUI的内部或源代码时,它非常有用
希望这对您有所帮助您是否尝试过:
driver.manage().deleteAllCookies()
哦,是的。这不会删除历史。已编辑该问题。但是,由于Selenium使用默认的新配置文件,它将如何删除通过Selenium打开的firefox配置文件的历史记录?%APPDATA%\Mozilla\firefox\Profiles文件夹包含所有配置文件,每个配置文件都有自己的历史记录和缓存