2014-01-08 2 views
0

나는 python.In 내 테스트 케이스에서 하위 메뉴를 열 수있는 메뉴를 가지고 (그래서 내가 action_chains를 사용하여 마우스를 사용하고 있습니다) 및 클릭하면 다음 화면으로 이동합니다.셀렌 webdriver 메인 메뉴에서 보이지 않는 링크를 클릭하여 화면을 여는

그 화면에서 나는 그 버튼 중 하나를 클릭 할 때마다 옵션 function.but을 저장, 삭제, 체크해야 할 필요가 있으며 그 메뉴를 클릭하고 드롭 다운 메뉴를 표시합니다.

이 화면은 frame.so가 아니므로 driver.switch_to_frame (frame_id)을 사용할 수 없습니다. 왜 내가 이것을 얻고 있으며이 문제에 대한 해결책은 무엇입니까?

이 내 코드 : (내가 사용하고있는 것이 아니다 그러나 이것은 내 코드와 동일)

이 내 메인 탭 1 2 3 4 (이 모든 메뉴가 하위 메뉴를 고려)

입니다 새로운 무엇이든 이 탭 아래에 표시된 모든 화면이 열립니다.이 화면은 사용중인 모든 화면에서 볼 수 있습니다. .

1 일 driver.find_element_by_id ("필드를 채우기 위해") 분명() 드라이버 :

menu= menu element 
submenu= sub menu element 
hover = ActionChains(driver) 
hover.move_to_element(menu).click() 
hover.click(submenu) 
hover.perform() 

지금 새 화면은이 이제 다음을 수행 옵션

를 다시 저장을 엽니 다. find_element_by_id ("필드 채우기 위해"). send_keys (값)

2 차 driver.find_element_by_id ("필드 채우기 위해"). 분명히() driver.find_element_by_id ("필드 Fi에 "). send_keys (값)

3 driver.find_element_by_id ("LL 필드 ".) 분명() driver.find_element_by_id ("필드는 "채우기를 채우기 위해). send_keys (값)

4 일 driver.find_element_by_id ("필드 채우기 위해"). 분명히() driver.find_element_by_id ("필드 채우기 위해"). send_keys (값)

는 지금은 저장 버튼을 클릭하고 있습니다.

driver.find_element_by_id("save").click() 

이 시간 동안이 클릭이 발생하면 메뉴 항목을 다시 클릭하고 메뉴 항목의 드롭 다운을 표시 할 때 문제가 발생합니다.

+0

근근이 살아가고있는 사이트 및 사용중인 코드에 대한 링크를 게시 할 수 있습니까? – duhaime

+0

내 코드보기 위에 추가했습니다 ... – Dheepan

답변

0

사용자가 원하는대로 마우스를 움직여 하위 메뉴/드롭 다운 메뉴를 시작하는 방법은 무엇을 요구하고 있습니까? (또는 적어도 그게 무슨 뜻인지 생각해보십시오)

셀레늄에서 제공하는 기능을 사용하여 마우스를 사용하십시오. 그런 다음 마우스를 다음 요소로 이동하십시오 (예 : 저장, 삭제 등)

여기에 자바의 예가 나와 있습니다. How to perform mouseover function in Selenium WebDriver using Java?

나는 프레임은 팝업 또는 다른 사이트의 페이지 앵커에서 열 때와 같은 윈도우의 다른 인스턴스를 참조 생각합니다.

+0

첫 번째 요점은 절대적으로 옳다고 말씀하셨습니다. 모든 하위 메뉴 항목은 차이 HTML을 열어서 하나를 클릭합니다 (이 sudmenu에는 마우스가있어 Achains_chains를 사용하고 있습니다). html 화면을 보여줍니다. 해당 HTML에서 버튼 (입력 유형 = 재설정, 유형 = 버튼)을 클릭하면 해당 메뉴 항목을 다시 클릭하고 하위 메뉴가 다시 드롭 다운됨을 보여줍니다. – Dheepan

관련 문제