在Javascript生成的提前输入下拉菜单中自动选择

时间:2011-06-27 20:21:52

标签: javascript python drop-down-menu selenium-rc keypress

我正在编写一个脚本,使用Selenium RC for python自动填充表单。其中一个输入字段有一个AJAX预输入估算器,可在您键入时生成建议的下拉列表。我想选择第一个选项,但由于没有动态生成列表的HTML表示,我尝试模拟按“Enter”,模拟鼠标点击菜单,并将焦点移动到另一个元素,所有它在浏览器上手动工作(并导致在页面上生成新信息的自动保存)。但是,当我在Selenium服务器上运行以下代码时,下拉菜单固执地停留在那里并且没有选择/自动保存/更新:

    sel.focus('otherelement')
    sel.key_press('element', '\13') # As far as I know, 13 is the keycode for the "Enter" key
    sel.key_press_native('\13') # I also tried 'KeyEvent.VK_ENTER' since that is apparently the keycode for a java.awt.event.KeyEvent 
    sel.click('title')
    sel.mouse_out('element')
    sel.mouse_down_at('element', '10,20')
    sel.mouse_up_at('element', '10,20')

所有这些都是单独和集体测试,但无济于事。有人有任何更正/建议吗?

编辑:以下是我正在测试的网站(解决方案可能因网站而异):

    sel.mouse_down('element')
    sel.mouse_up('element')

1 个答案:

答案 0 :(得分:0)

使用我在谷歌页面上尝试的以下代码

    sel = self.selenium
    sel.open("http://www.google.co.in/")
    sel.type_keys("q", "vi")
    time.sleep(2)
    sel.key_down("q", "\\40")
    sel.key_up("q", "\\40")
    sel.key_press("q", "\\13")