任何人都可以向我解释如何使用带有selenium的插件为gecko驱动程序设置未访问过的域的cookie?我一直试图设置一个cookie来防止看到登录页面,但cookie的域名是重定向的,所以我不能通过访问它来设置它,也无法弄清楚如何去做。
我试过这个,但看起来我无法在selenium中指定这个,因为我无法访问此页面。
Cookie cookie11 = new Cookie("SID",
"cookievalue",
".google.com",
"/",
expiry1,
false,
false);
找到一个名为Cookies Export / import的插件,我试图找出是否可以用来导入cookie。
任何帮助将不胜感激!
答案 0 :(得分:1)
如果您希望使用指定的扩展程序来执行此操作,我建议您在How do you use a firefox plugin within a selenium webdriver program written in java?上查看SO答案,您应该从那里开始。
但是,我相信您可以使用addCookie()
方法在不使用扩展程序的情况下实现此目的。
WebDriver driver = new FirefoxDriver();
Cookie cookie = new Cookie("SID",
"cookievalue",
".example.com",
"/",
expiry1,
false,
false);
driver.manage().addCookie(cookie);
driver.get("http://www.example.com/login");
假设您的Cookie详细信息正确无误,您应该可以通过登录重定向。
另见: WebDriver – How to Restore Cookies in New Browser Window
答案 1 :(得分:1)
你做不到。见https://w3c.github.io/webdriver/webdriver-spec.html#add-cookie
我使用规范https://github.com/w3c/webdriver/issues/1238
打开了此问题如果您想通过此问题,则需要重新构建没有这些验证的浏览器:
以下是对FireFox(木偶)进行的更改: https://gist.github.com/nddipiazza/1c8cc5ec8dd804f735f772c038483401