Я создал функцию (Selenium- Java) для входа в систему, сохранения файлов cookie и закрытия текущего сеанса. Затем снова откройте браузер и загрузите эти куки (смоделированные). Файлы cookie были загружены, и я зашел на эту страницу. Но когда я пытаюсь использовать одну из кнопок на этой странице, она не работает. Кто-нибудь знает, что я делаю не так? Признает ли это, что я использую средства автоматизации? почему в файлах cookie нет параметра SameSite
>
private void Play()throws InterruptedException{
driver.get("https://webpage.ro/");
LoadCookies();
driver.findElement(By.xpath("//*[contains(text(), 'JOACĂ')]")).click();
sleep(5000);
SaveCookies();
}
private void LoadCookies() {
try {
File file = new File("src/test/java/Tests/cookies/" + contorStart + "_cookies.data");
FileReader fileReader = new FileReader(file);
BufferedReader Buffreader = new BufferedReader(fileReader);
String strline;
while ((strline = Buffreader.readLine()) != null) {
StringTokenizer token = new StringTokenizer(strline, ";");
while (token.hasMoreTokens()) {
String name = token.nextToken();
String value = token.nextToken();
String domain = token.nextToken();
String path = token.nextToken();
String val = token.nextToken();
DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy"); //Sun Feb 09 01:57:10 EET 2020
Date expiry = df.parse(val);
Boolean isSecure = Boolean.parseBoolean(token.nextToken());
//Boolean isHtOnly = Boolean.parseBoolean(token.nextToken());
Cookie ck = new Cookie(name, value, domain, path, expiry, isSecure);
driver.manage().addCookie(ck); // This will add the stored cookie to your current session
}
}
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("Can't load cookies");
}
}
private void SaveCookies() {
File file = new File("src/test/java/Tests/cookies/" + contorStart + "_cookies.data");
try {
// Delete old file if exists
file.delete();
file.createNewFile();
FileWriter fileWrite = new FileWriter(file);
BufferedWriter Bwrite = new BufferedWriter(fileWrite);
// loop for getting the cookie information
// loop for getting the cookie information
int i = 0;
for (Cookie ck : driver.manage().getCookies()) {
i++;
if (i != 4) {
Bwrite.write((ck.getName() + ";" + ck.getValue() + ";" + ck.getDomain() + ";" + ck.getPath() + ";" + ck.getExpiry() + ";" + ck.isSecure()));//+";"+ck.isHttpOnly()));
Bwrite.newLine();
}
}
Bwrite.close();
fileWrite.close();
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("Cookies not saved");
}
}
Спасибо!