2012-01-06 77 views
0

菜單就像硒webdriver-選擇從下拉菜單,獲得通過一個js功能

訪問管理 填充選項| - 搜索用戶 | --create用戶

我已經陷入了從沒有出局的情況。 :( 當我點擊菜單鏈接時,下拉菜單中會出現另一組3個鏈接,其中我必須選擇鏈接2(創建用戶),但是由於點擊'訪問管理'有一個js函數它填充子菜單,因此我無法得到任何標準來找到該元素,並點擊它。請建議一種方法來做到這一點。

訪問mgmt ---調用js函數是clickToShowIt() 在JS腳本下我可以找到var定義爲菜單[0] .node [1] .name ='創建用戶'

+0

該菜單是由JavaScript要不要緊動態生成的事實,應該的webdriver仍然能夠看到在新的條目DOM。您可以在創建菜單後粘貼菜單的HTML嗎? – Anders 2012-01-06 20:56:38

回答

0

您至少有2個選項 最好的一個(如果需要,請隨意使用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) 
相關問題