Итак, я хочу сделать свой Селен необнаружимым.Я не использую безголовый, и единственный тест, который здесь не проходит здесь , это тест Webdriver, который отмечается, когда navigator.webdriver = true.Я также слежу за этим постом , который кажется довольно информативным, но это все JS Puppeteer, и мне просто нужна тестовая часть Webdriver, и я не могу правильно ее использовать.
Я виделответ на предыдущий вопрос, но, если я не ошибаюсь, это не дает решения, это скорее причина того, почему это происходит.
Я пытался запустить этот JavascriptExecutor (как в виде асинхронного сценария, так и нет)кода (обратите внимание, что я понятия не имею о JS, и это в основном метод проб и ошибок, поскольку язык моего реального приложения - Java):
await page.evaluateOnNewDocument(() => {
Object.defineProperty(navigator, 'webdriver', {
get: () => false,
});
});
Не работает.Я также попытался обернуть его в "async () => {...", ничего.
Фактический код Java, который я пытаюсь запустить:
String navigatorScript = "await page.evaluateOnNewDocument(() => {\n" +
" Object.defineProperty(navigator, 'webdriver', {\n" +
" get: () => false,\n" +
" });\n" +
"});";
// Unrelated stuff here
driver = new ChromeDriver(options);
driver.get("https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html");
((JavascriptExecutor)driver).executeAsyncScript(navigatorScript);
Заранее спасибо.