2016-08-22 3 views
0

그래서 제가 수행 한 유일한 자동화는 루비와 함께 오이를 사용하여 현재의 직업에서 배운 것입니다. Firefox 48+ 용 selenium 및 gekko 드라이버를 업그레이드 한 이후 테스트에 문제가있었습니다. 내 CSS는 다음과 같습니다FireFox 48에서 SelectElement 클래스를 사용하여 요소를 선택할 수 없습니다. Ruby를 사용하는 최신 드라이버 (마리오 네트)를 사용하고 있습니다.

<select id="scheduled-task-type" name="maintenance_task[task_type]"> 
<option value="16">Engine Runtime</option> 
<option value="10">GPS Odometer</option> 
<option value="13">Idle Time</option> 

내 이전 작업 명령은

@browser.select(id: "scheduled-task-type").select "GPS Odometer" 

이 더 이상 작동하는 것 같다 없었다. 오류는 발생시키지 않지만 드롭 다운도 변경되지 않습니다. 실제로 그것이 행동을 올바르게 수행했다고 생각하는 것 같습니다.

@browser.select(id: "scheduled-task-type").select "GPS Odometer" 
=> "GPS Odometer" 

은 내가 (이 작품) 열 드롭 다운을 클릭 그걸 얻기 위해 시도했지만 한 나는 같은

@browser.select(id: "scheduled-task-type").click 
@browser.select(id: "scheduled-task-type").option(text: "GPS Odometer").click 

로를 .click 사용하여 그 이후 선택을 얻을하려고 할 때 여전히 작동하지 않으며 오류가 발생하지 않습니다.

+0

나는 이것이 Firefox의 버그라고 생각합니다. Firefox 51에서 수정되었을 수 있습니다 - http://stackoverflow.com/q/39026616/1200545? –

답변

1

당신이 루비에서 순수 셀레늄을 사용하는 옵션을 선택합니다, 당신은 코드를 사용할 수 있습니다 :

@browser.find_element(:css, "select#scheduled-task-type option[value=\"10\"]").click 

@browser이 인스턴스와 find_element 웹 페이지에있는 모든 요소를 ​​찾을 수있는 방법입니다 webdriver 당신의 셀레늄이다 . 희망이 도움이됩니다.