2014-09-27 1 views
0

루프 기반으로 단추를 클릭하려고합니다.Selenium :: WebDriver :: Error :: Waterm을 사용하여 버튼을 클릭하여 반복하면서 ElementNotVisibleError

우리가 말을하자 나는 코드

if ind == 2 
    export_id = @browser.div(:id => pop_id).div(:class => /actionDropDownItem groupChild nonSelectable/,:title => "Export").id 
    @browser.div(:id => export_id).click 
else 
    @browser.div(:id => pop_id).div(:class => /actionDropDownItem groupChild nonSelectable/,:title => "Export").click 
end 

을 다음했다 그러나 인덱스 값 "2"에 오류가 표시되고 오류가

Selenium::WebDriver::Error::ElementNotVisibleError: 
Element is not currently visible and so may not be interacted with 

사람이 경우에 나를 도울 수있다?

+1

예외는 요소가 표시되지 말한다 위해이 작동합니다. 예를 들어 드롭 다운 메뉴 위로 마우스를 가져 가면 표시되도록 다른 조치가 필요할 수 있습니다. 페이지를 보지 않으면 정확한 문제를 알려주지 못합니다. –

+0

많은 경우에, 작동하도록 밝혀진 요소를 클릭하기 전에 sleep 2와 같은 것을 시도해보십시오. 그것을 시도하기 전에 루비에게 2 ~ 3 초 정도 기다리라고 말하십시오. – daremkd

+0

@daremkd 나는 수면과 wait_until_present로 시도했지만 여전히 실패하고 teh ID가 점점 더 잘못된 것입니다. – Sai

답변

1

적절한 HTML을 제공하면 좋을 것입니다.

는 한 번이 시도는

if ind == 2 
    export_id = @browser.div(:id => export_id) 
    export_id.click 
else 
    @browser.div(:id => pop_id).div(:class => /actionDropDownItem groupChild nonSelectable/,:title => "Export").click 
end