Я пытаюсь очистить некоторые данные из твиттера с помощью безглавого селена, запущенного в приложении Spring Boot на Heroku. Следующие 2 пакета сборки включены в мое приложение Heroku:
1) https://github.com/heroku/heroku-buildpack-chromedriver.git
2) https://github.com/heroku/heroku-buildpack-google-chrome.git
Эти два buildpack-пакета предназначены для запуска безголового селена в приложении heroku. После того, как сценарий селена входит в мои данные для входа в твиттер и нажимает кнопку входа, мой сценарий продолжает падать. Почему? Я проверил источник страницы и нашел следующую подсказку в твиттере:
Мы обнаружили, что JavaScript отключено в вашем браузере. Хотели бы вы перейти на устаревший Twitter?
Так что, очевидно, javascript отключен, что очень плохо. И я не хочу переходить в устаревший режим (без javascript).
При инициализации веб-драйвера я попробовал следующие две опции, чтобы убедиться, что javascript включен. Но это, кажется, игнорируется:
Вариант 1)
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--headless", "--enable-javascript");
WebDriver webdriver = ChromeDriver(chromeOptions);
Вариант 2)
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--headless");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setJavascriptEnabled(true);
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
WebDriver webdriver = ChromeDriver(capabilities);
Есть идеи?