2012-01-06 2 views
0

메뉴셀레늄이

액세스 관리 을 같이하는 JS 기능을 통해 채워됩니다 드롭 다운 메뉴에서 옵션을 선택 webdriver- | - 검색 사용자 | - 사용자 만들기

어디에도없는 곳에서 상황에 처해 있습니다. : 메뉴 링크를 클릭하면 드롭 다운에 또 다른 3 개의 링크가 있는데 그 중 링크 2 (사용자 만들기)를 선택해야하지만 '액세스 관리'를 클릭하면 js라는 함수가 호출됩니다. 하위 메뉴가 채워 지므로 해당 요소를 찾아서 클릭 할 수있는 기준을 얻을 수 없습니다. 수행 방법을 제안하십시오. 수행 방법을 제안하십시오. JS script에서 click_tShowIt()이라는 jsm 함수가 호출됩니다. 메뉴 [0] .node [1] .name = '사용자 만들기'로 정의 된 var를 찾을 수 있습니다.

+0

메뉴는 문제가되지해야 자바 스크립트에 의해 동적으로 생성된다는 사실은, WebDriver는 여전히에 새 항목을 볼 수 있어야합니다 DOM. 메뉴를 만든 후에 html을 붙여 넣을 수 있습니까? – Anders

답변

0

적어도 두 가지 옵션이 있습니다 원하는 경우 explicit waits을 자유롭게 사용하십시오.

# python: 

my_menu = browser.find_element_by_xpath(MY_MENU_XPATH) 
my_menu.click() # this click should execute `clickToShowIt()` for you. 
my_option = my_menu.find_element_by_xpath(MY_OPTION_XPATH) 

또는, 개발자 콘솔에서 clickToShowIt() 기능에 액세스 할 수 있는지 :

browser.execute_script("clickToShowIt();") 
my_option = browser.find_element_by_xpath(MY_OPTION_XPATH) 
관련 문제