2017-09-26 10 views
0

페이지를로드하고 해당 페이지의 요소를 클릭합니다. 현재 나는 그것을 사용하기 위해 수면을 사용하고 있지만, 충분히 강하다고 느끼지는 않습니다. (잠시 후에 사라집니다.)페이지가로드 될 때까지 기다리지 마십시오

on(page1).buttonForNextPage.click 
    @myvariable = on(page2).target_link_element.wait_until_present().link.text 

wait_until_present()는 아무 것도 달성하지 못하는 것 같습니다. 내가 잠들지 않으면 코드가 경주한다. 잠 (3)과 함께 작동하지만 그것을 피하고 싶습니다.

또한 내 페이지에 pageobjects gem을 사용하고 있습니다.

+0

코드가 경주 할 때 표시되는 잘못된 동작은 무엇입니까? '@ myvariable '이 잘못된 값으로 설정되어 있습니까? –

+0

코드가 존재하지 않는 Selenium 요소를 얻습니다. target_link_element를 찾을 수 없습니다 – qaispak

+0

Page-Object 및 Watir의 어떤 버전을 사용하고 있습니까? 'target_link_element'에 대한 정의와 이상적으로는 문제를 재현하는 페이지를 공유 할 수 있습니까? –

답변

2

최신 버전의 Watir (현재 v6.8.4)로 업그레이드해야합니다. v6.5.0부터, 당신이보고있는 문제를 해결 한 많은 버그 수정이있었습니다.

+0

설명을 위해. Watir은 기본적으로 페이지가 다음 페이지로 이동하기 전에 페이지가로드 될 때까지 기다려야합니다. – qaispak

+1

예, 아니오. 양식을 제출하거나 탐색을 시작하는 버튼/링크를 클릭하면 기본 드라이버가 페이지로드가 완료 될 때까지 대기합니다. 버튼/링크가 일부 자바 스크립트를 트리거하면 브라우저가 새로 고침을하게되어 드라이버가 기다릴 필요가 있음을 알 수 없습니다. 그러나 Watir 요소 호출의 대부분은 조치/검사를 수행하기 전에 요소가 나타나기를 기다립니다. 즉, 대부분의 경우가 기다릴 것이지만 몇 가지 중요한 경우가 있습니다. –

+0

내가 생각하기에. -- 감사 – qaispak