2017-02-03 12 views
7

Я пытался решить эту проблему, но не уверен, в чем причина этого: Я сделал программу с java и phantomjs, и теоретически они оба должны вести себя одинаково.Java Phantomjs ведет себя по-разному в windows и linux

Phantomjs как на ПК, так и на сервере одинаковый v.2.0.

В окнах программы (ст.7) тестирование ми работает, как ожидалось, но в Linux (Debian) программа не удается, с этой ошибкой при попытке нажать элемент:

Caused by: org.openqa.selenium.NoSuchElementException: {"errorMessage":"Unable to find element with css selector 

Теперь, я знаю, иногда нам приходится ждать несколько секунд, чтобы страница загружалась, что уже делает (даже добавлено еще несколько, чтобы быть уверенным), и она была проверена правильно в окнах.

я попытался с помощью функции мыши:

element.click(); 

с яваскриптом кодом:

JavascriptExecutor js = (JavascriptExecutor)driver; 
    js = (JavascriptExecutor)driver; 
    js.executeScript("arguments[0].click();", element) 

и действиями тоже:

Actions action = new Actions(driver); 
action.moveToElement(element).contextClick().build().perform();  
//and this code too 
action.moveToElement(element).click().build().perform(); 

Любыми имел такую ​​же или подобную проблему? что я еще могу сделать? я застрял со вчерашнего дня, и я не смогу выяснить эту проблему.

Примечание: сейчас у меня есть альтернативный способ, чтобы получить страницу без взаимодействия, но все же имеющие разные результаты веб-страницы при выполнении в различных операционных системах, например:

где я обычно я получаю это ссылка: www.somesite.com/?search=xxxxx & date_in = dd/MM/yyyy & params = и т. д. , вместо этого я получаю www.somesite.com/?search=xxxxx, поиск по умолчанию без каких-либо особых параметров поиска.

+0

Вы используете 'https' в обоих случаях? –

+1

@Pikachu нет, они оба http –

+1

Вы пытались получить больше информации, используя опцию командной строки '--debug = true' и [onResourceError] (http://phantomjs.org/api/webpage/handler /on-resource-error.html) обратный вызов? –

ответ

5

Вам необходимо использовать обратный вызов onResourceError, чтобы узнать, что происходит.
Кроме того, необходимо использовать следующие Command-Line варианты:

--ignore-ssl-errors=true --ssl-protocol=any --debug=true 

Смотрите также: this issue.

 Смежные вопросы

  • Нет связанных вопросов^_^