Chciałem napisać bota, który otworzy przeglądarkę na konkretnej stronie i wpisze tekst w odpowiednie pole
Zainstalowałem VS Code + Node.js + selenium-webdriver 2.48
Zacząłem "przepisywać" kod z poradnika na YT: https://www.youtube.com/watch?v=euEir1hX-Z8&list=PLDcL8dhuVQJzgNMCXtlEe8QeDIEByxBFX
Po instalacji prawie połowy wersji selenium-webdriver, w końcu trafiłem na "sensownie działającą" ale to nie zmienia faktu, że otwiera mi się jedynie przeglądarka na pustej stronie i kod w większości nie chodzi
Czy ktoś wie co robię nie tak? W Node.js i selenium jestem totalnie zielony bo dopiero rozpoczynam naukę i juz na dzień dobry schody :(
Kodzik:
var webdriver = require('selenium-webdriver');
var By = require('selenium-webdriver').By;
var until = require('selenium-webdriver').until;
// open Firefox
var driver = new webdriver.Builder().forBrowser('firefox').build();
// maximize the window
driver.manage().window().maximize();
// delete all cookies
driver.manage().deleteCookie();
driver.get('http://www.google.com');
driver.quit();
Po zamknięciu okna i odczekaniu "wieczności" w konsoli wyrzuca mi:
Error: Timed out waiting for the WebDriver server at http://127.0.0.1:62436/hub
at Error (native)
at onResponse (P:\VS Code\Projekt\node_modules\selenium-webdriver\http\util.js:89:11)
at P:\VS Code\Projekt\node_modules\selenium-webdriver\http\util.js:44:21
at P:\VS Code\Projekt\node_modules\selenium-webdriver\lib\webdriver\http\http.js:140:5
at ClientRequest.<anonymous> (P:\VS Code\Projekt\node_modules\selenium-webdriver\http\index.js:174:7)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:188:7)
at Socket.socketErrorListener (_http_client.js:310:9)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
From: Task: WebDriver.createSession()
at Function.webdriver.WebDriver.acquireSession_ (P:\VS Code\Projekt\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:157:22)
at Function.webdriver.WebDriver.createSession (P:\VS Code\Projekt\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:131:30)
at new Driver (P:\VS Code\Projekt\node_modules\selenium-webdriver\firefox\index.js:278:36)
at Builder.build (P:\VS Code\Projekt\node_modules\selenium-webdriver\builder.js:460:14)
at Object.<anonymous> (P:\VS Code\Projekt\server.js:6:60)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
From: Task: WebDriver.manage().window().maximize()
at Driver.webdriver.WebDriver.schedule (P:\VS Code\Projekt\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:362:15)
at webdriver.WebDriver.Window.maximize (P:\VS Code\Projekt\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:1476:23)
at Object.<anonymous> (P:\VS Code\Projekt\server.js:9:26)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
EDIT: Poradziłem sobie... dla potomnych:
1. Zainstalować Google Chrome i zmienić w kodzie firefox na chrome // firefox blokuje "rzeczy" bez certyfikatów
2. Ściągnąć chromedriver.exe i w ustawieniach systemu w miejscu PATH dać do niego ścieżkę