Невозможно запустить безголовый селен на героку с включенным javascript - PullRequest
1 голос
/ 13 апреля 2020

Я пытаюсь очистить некоторые данные из твиттера с помощью безглавого селена, запущенного в приложении 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);

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...