Перед выполнением javascript от драйвера PhantomJS я столкнулся со следующей проблемой:Облицовка некоторых проблем при выполнении javascript с помощью драйвера phantomJS с безмятежностью
(PhantomJSDriver) driver).executeScript("document.getElementsById('whereOut')")
Ошибка:
{"errorMessage":"'undefined' is not a function (evaluating 'document.getElementsById('whereOut')')","request":{"headers":{"Accept-Encoding":"gzip,deflate","Connection":"Keep-Alive","Content-Length":"69","Content-Type":"application/json; charset=utf-8","Host":"localhost:33819","User-Agent":"Apache-HttpClient/4.3 (java 1.5)"},"httpVersion":"1.1","method":"POST","post":"{\"script\":\"document.getElementsById(\u0027whereOut\u0027)\",\"args\":[]}","url":"/execute","urlParsed":{"anchor":"","query":"","file":"execute","directory":"/","path":"/execute","relative":"/execute","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/execute","queryKey":{},"chunks":["execute"]},"urlOriginal":"/session/b0246730-4435-11e6-b64c-7bf1e13a7577/execute"}} Command duration or timeout: 278 milliseconds
также попытался следующий код:
((JavascriptExecutor) driver).executeScript("document.getElementById('whereOut')")
выше код возвращает нулевое значение, даже если добавить возвращаемое значение, как показано ниже:
((JavascriptExecutor) driver).executeScript("return document.activeElement")
Возвращает нулевое значение.
Кто-нибудь пытался изменить css
конкретного элемента, используя фантомные js?
((JavascriptExecutor) driver).executeScript("document.getElementById('whereOut').className=''")
То, что я понял, что при выполнении выше строк коды, я не получаю элемент, используя javascript
выполнение в то время как тот же элемент извлекаемый с использованием чистого кода селена с браузером Firefox.
P.S. Я использую версию phantomJS 1.9.7 и безмятежность: 1.0.56.
Но JavascriptExecutor не реализован Ph antomJSDriver, как это могло бы работать? –