2016-06-08 5 views
0

나는 다음과 같은 요소 중 하나 이상이있는 HTML 페이지가 있습니다.PhantomJS와 XPath를 선택기

내 테스트에서는 가용/표시이 될 때까지 기다렸으므로 DOM의 다른 요소를 확인할 수 있습니다. 내가 PhantomJS로 헤드리스 테스트를 실행하는거야

browser.waitForExist('//span[text()="Mytext"]', 120 * 1000, false); 

GhostDriverphantomjs --webdriver=4444 --debug=true 

과 독립형으로 시작 내가 크롬과 파이어 폭스에서 테스트를 실행하는 셀레늄이

java -jar selenium-server-standalone-2.53.0.jar -Dwebdriver.chrome.driver=./chromedriver) 

과 독립형으로 시작 사용 .

크롬에서 함수 호출이 빠르게 실행되지만 PhantomJS에서 이것은 매우 오래 걸리고 때로는 element을 찾지 못한 채 시간 초과가 발생한다는 것을 알았습니다.

PhantomJS에서 XPath 선택자에 대해 비슷한 행동을 한 사람이 있습니까?

이러한 XPath 선택기의 문제점은 PhantomJS 일 수 있습니까?

browser.get(url); 

셀레늄 페이지 참이었다 브라우저의 응답을 기다립니다 :

TIA

답변

1

나는이 문제를 통해 자신을 왔어요, 내가 멀리 갔다 결론은 당신이 할 때입니다 도달했습니다. PhantomJS의 Ghostdriver은 이전에 소스 코드를 반환하는 신호를 제공하고 자바 스크립트를 실행하는 데 오랜 시간이 걸리는 반면 Chrome이나 Firefox는 신호가 전송되고 동적으로 생성 된 콘텐츠가 이미 제공되는 경우가 많습니다. 인터넷 연결 속도가 느리고 브라우저 간 테스트가 필요하면 특히 성가신입니다.

사실로 말씀 드리지 마십시오.이 "결론"은 광범위한 테스트에서만 나온 것이며 가정 사항입니다. 도구의 코드에 익숙하지 않습니다.