Вот что я пытаюсь сделать: 1. У меня есть сценарий использования, когда мне нужно изменить пользовательский агент по умолчанию в Firefox и зайти на сайт, чтобы что-то проверить.Я знаю, когда используется правильный useragent, потому что он не будет отображать капчу.
Вот что я делаю, чтобы добиться этого (согласно этому сайту: https://www.howtogeek.com/113439/how-to-change-your-browsers-user-agent-without-installing-any-extensions/_): 1. Создана новая глобальная переменная Firefox: general.useragent.override со значением «Special_UA» 2. Когда я открываю Firefox вручную, переменная учитывается, и я не вижу капчи при открытии сайта, я также могу подтвердить это с помощью wireshark / fiddler
Тем не менее, когда я пытаюсь сделать то же самое с Selenium, я вижу капчу, поскольку Firefox использует Firefox UserAgent по умолчанию (подтверждено wireshark / fiddler), поэтому кажется, что Selenium каким-то образом игнорирует созданную мной глобальную переменную.
Вот мой помп:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Automation</groupId>
<artifactId>SeleniumAutomation</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<!-- Selenium -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<!-- TestNG -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-ie-driver</artifactId>
<version>3.12.0</version>
</dependency>
<dependency>
<groupId>io.github.seleniumquery</groupId>
<artifactId>seleniumquery</artifactId>
<version>0.20.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-driver</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>
</project>
А вот мой код:
@BeforeClass(alwaysRun = true)
public void setUp() throws Exception {
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void TestCase() throws Exception {
driver.get("https://samplesite.com/a.action");
}