#node.js #selenium #selenium-webdriver #google-chrome-headless
#node.js #селен #selenium-веб-драйвер #google-chrome-безголовый
Вопрос:
Я использую Selenium с NodeJS, чтобы получить какой-то конкретный элемент с веб-сайта. Но мой скрипт работает в системе Debian только с терминалом. Поэтому я использовал безголовый драйвер Chrome, но, к сожалению, скрипты зависают на полученном веб-сайте. Я пытался разместить несколько публичных адресов, таких как, например google.com но это не работает.
Это мой сценарий:
const chrome = require("selenium-webdriver/chrome");
const firefox = require("selenium-webdriver/firefox");
const { Builder, By, Key, until } = require("selenium-webdriver");
let driver = new Builder()
.forBrowser("chrome")
.setChromeOptions(
new chrome.Options().headless().windowSize({
width: 640,
height: 480,
})
)
.build();
const visit = async () => {
try {
console.log("This console log is executing");
await driver.get("http://www.google.com");
console.log("This console log is not executing");
} catch (err) {
console.log(err);
}
};
visit();
При выполнении моего скрипта ошибка не выводится.
Я проверил связь с google.com используя curl, и все работает правильно.
Комментарии:
1. У меня такая же проблема, вы когда-нибудь это выясняли?
2. К сожалению, нет
3. В итоге я заставил его работать на меня. Я на Linux, и после того, как я запустил «sudo yum -y groupinstall «GNOME Desktop»», это сработало.