2012-01-06 88 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) 
相关问题