如何让Selenium拉出侧边栏菜单树

时间:2014-01-13 10:18:29

标签: selenium

我有一个iframe边栏,一旦窗口小部件悬停就会出现,因为它使用onchange javascript事件,并在再次单击侧边栏时隐藏。此侧栏中有一个列表框,需要单击该列表框才能继续使用我的链。如何在Python中编写Selenium webdriver来提取这个侧边栏?

由于

在阅读问题的答案时,我补充说: -

    element = driver.find_element_by_xpath('//*[@id="leftSiderBarForm:moduleMenu"]')
    element = driver.find_element_by_id("leftSiderBarForm:moduleMenu")
    hover = ActionChains(driver).move_to_element(element)
    hover.perform()

但得到错误: -

MoveTargetOutOfBoundsException: Message: u'Offset within element cannot be scrolled into view: (72.5, 8.5): [object XrayWrapper [object HTMLSelectElement]]' ; 

这是我从Chrome复制的元素的HTML。我将实际值更改为ABC等。

<select id="leftSiderBarForm:moduleMenu" name="leftSiderBarForm:moduleMenu" class="comboboxnowidth leftSideMenuSelect " size="1" onchange="jQuery('.submitMenuSelection').click()" style="z-index: 0;"> <option value="">-- Select --</option>
<option value="ABC">abc</option>
<option value="DEF">def</option>

我可以使用Javascript来触发那个Jquery吗?

1 个答案:

答案 0 :(得分:1)

from selenium.webdriver.common.action_chains import ActionChains

def hover_over_item(self):
    driver = webdriver_connection.connection
    element = driver.find_element_by_id(locator)
    hover = ActionChains(driver).move_to_element(element)
    hover.perform()

Reference