2014-09-03 2 views
0

나는 다음과 같은 HTML이 :크롬이 포함 된 watir-webdriver 사용 - 입력란을 찾을 수 없습니까?

<input type="email" class="form-control" name="email" placeholder="Email"> 

을 그리고 난 다음 코드로이 요소를 검색하려고 :

b = Watir::Browser.new :chrome 
b.goto('localhost:3000') 
puts b.input(:name => "email").exists? 

false을 반환하지만 가장 확실히 사실이다. b.text_field(:name => 'email').exists?을 사용해 보았지만 false도 반환합니다.

최종 목표는 입력 텍스트를 변경하는 것이지만, 지금은 요소를 찾을 수 없습니다. 페이지가 잘로드되고로드 한 후 false을 출력합니다.

+2

모든 기회의 정상적인 캐스팅. 문자가 문제를 일으킬 수 있습니다 (예 : 요소가 프레임에 있고 요소가로드가 완료되지 않았으므로 .when_present 메서드를 체인화해야 함) – orde

+0

@orde 그 것이 실제로 문제였습니다. – Luigi

답변

1

요소로드가 완료되기 전에 코드가 실제로 실행되고 있습니다. 당신은 체인에 필요한 몇 가지 방법 (즉 .when_present.exists? 당신의 요소를 보장하기는 그 존재의 확인을 시도하기 전에로드됩니다!

puts b.input(:name => "email").when_present.exists? 

행운을 로컬에 대한 작품을 니펫을