Я работаю над программным обеспечением для автоматизации публикации постов. Когда я вхожу в систему по электронной почте и паролю, после 4 запусков мне предлагается заполнить капчу, поэтому я хочу использовать файлы cookie, но не могу заставить их работать.
Я посмотрел пару видео, но не понялбольшинство из них, пока я не наткнулся на этот код:
File f = new File("browser.data");
try{
f.delete();
f.createNewFile();
FileWriter fos = new FileWriter(f);
BufferedWriter bos = new BufferedWriter(fos);
for(Cookie ck: driver.manage().getCookies()) {
bos.write((ck.getName()+";"
+ck.getValue()+";"
+ck.getDomain()+";"
+ck.getPath()+";"
+ck.getExpiry()+";"
+ck.isSecure()));
System.out.println(ck);
bos.newLine();
}
bos.flush();
bos.close();
fos.close();
}catch(Exception ex){
ex.printStackTrace();
}
, который, очевидно, отлично работает для создания куки, но когда я пытаюсь его использовать, ничего не происходит.
Это все мои основные,Я настоящий нуб, когда дело доходит до селена, печенья и т. Д. Поэтому я надеюсь, что кто-то здесь может мне помочь.
public static void main(String[] args) {
System.setProperty("webdriver.firefox.driver","C:\\geckodriver.exe");
FirefoxDriver driver = new FirefoxDriver();
WebDriverWait wait = new WebDriverWait(driver, 10);
driver.get("examplejobpostingsite.com");
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("login-email-input"))).sendKeys("test@protonmail.com"); //let cookies take over later on
driver.findElement(By.id("login-password-input")).sendKeys("pass");
driver.findElement(By.id("login-submit-button")).click();
wait.equals(2);
File f = new File("browser.data");
try{
f.delete();
f.createNewFile();
FileWriter fos = new FileWriter(f);
BufferedWriter bos = new BufferedWriter(fos);
for(Cookie ck: driver.manage().getCookies()) {
bos.write((ck.getName()+";"
+ck.getValue()+";"
+ck.getDomain()+";"
+ck.getPath()+";"
+ck.getExpiry()+";"
+ck.isSecure()));
System.out.println(ck);
bos.newLine();
}
bos.flush();
bos.close();
fos.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
, когда я пытаюсь driver.manage().getCookieNamed("browser.data")
Ничего не происходит, кроме как через 10 секунд я получаю тайм-аутиз-за моего WebDriverWait.