2017-02-03 23 views
7

Próbowałem rozwiązać ten problem, ale nie jestem pewien, co jest przyczyną tego, Zrobiłem program z java i phantomjs, i teoretycznie obie powinny zachowywać się w ten sam sposób.Java Phantomjs zachowuje się inaczej w Windows i Linuksie

Phantomjs w komputerze i na serwerze jest taki sam v.2.0.

W oknach programu (v.7) testowanie mi działa zgodnie z oczekiwaniami, ale w systemie Linux (Debian) program nie powiedzie się, z tego błędu, gdy próbuje kliknij element:

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

Teraz wiem czasami musimy poczekać kilka sekund na wczytanie strony, co już jest (dodaliśmy jeszcze kilka, żeby się upewnić) i zostało to poprawnie przetestowane w oknach.

Próbowałem z funkcją click:

element.click(); 

z kodem javascript:

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

iz działaniami też:

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

ktoś miał ten sam lub podobny problem? co jeszcze mogę zrobić? Utknąłem od wczoraj i nie będziemy w stanie wymyślić tego problemu.

uwaga: teraz mam alternatywny sposób na stronę bez konieczności interakcji, ale wciąż mają różne wyniki ze strony internetowej podczas wykonywania w różnych systemach operacyjnych, na przykład:

gdzie zwykle uzyskać to link: www.somesite.com/?search=xxxxx & date_in = dd/MM/rrrr & params = itd. zamiast tego uzyskuję www.somesite.com/?search=xxxxx, domyślne wyszukiwanie bez żadnych szczególnych parametrów wyszukiwania.

+0

Czy używasz 'https' w obu przypadkach? –

+1

@Pikachu nie, są one zarówno http –

+1

Czy próbowałeś uzyskać więcej informacji, używając opcji wiersza poleceń '--debug = true' i [onResourceError] (http://phantomjs.org/api/webpage/handler /on-resource-error.html) callback? –

Odpowiedz

5

Musisz użyć wywołania zwrotnego , aby dowiedzieć się, co się stało.
Należy również korzystać z następujących Command-Line opcje:

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

Zobacz także: this issue.

Powiązane problemy