使用actionchain()时,Selenium挂起。然后移动actionchain.click或mouse_up

时间:2016-01-12 03:38:26

标签: python selenium

我使用selenium2library进行拖放操作的自动化测试。我在windows 8 64bit,selenium 2.48.0,ride.py上运行。用于测试的浏览器:firefox和chrome最新稳定版

我所做的是创建一个带有输入文本和链接的虚拟html页面,然后尝试将该链接拖动到输入文本中

这是html:

<div id="wrapper">

<input id="target" type="text" style="width:200px; height:50px" />
</div>
<a id="source" href="http://google.com" >drag me </a>

这是我的自动化python代码:

class CustomSeleniumLibrary(Selenium2Library):
...
    def test_drag(self):
        self.open_browser("http://localhost:8080/a.html", "firefox")
        source = self._element_find("//a[@id='source']", True, True)
        target = self._element_find("//input[@id='target']", True, True)
        drag = ActionChains(self._current_browser()).click_and_hold(source)
        moveDum = ActionChains(self._current_browser()).move_by_offset(1,1)
        move = ActionChains(self._current_browser()).move_to_element_with_offset(target,1,1)
        #I have also tried ActionChains().drag_and_drop().perform() or make a dummy move move_by_offset followed by move_to_element_with_offset but no use
        drag.perform()
        moveDum.perform()
       move.perform()

我发现当移动完成或mouse_down()完成时,未执行下一个操作,我可以看到链接被保留,但是在我手动将鼠标移动到浏览器上之前不会执行任何移动操作。 ride.py UI当时的电影和请求: 16:24:47.042 : DEBUG : POST http://127.0.0.1:58095/hub/session/fa7590b6-396f-4cb5-a08a-e35138a9216e/moveto {"sessionId": "fa7590b6-396f-4cb5-a08a-e35138a9216e", "element": "{6586b4ae-3c51-4e18-bb40-e006af369768}", "xoffset": 1, "yoffset": 1}

永远挂起,直到我在浏览器上手动移动鼠标

你们中有人遇到同样的问题,或者我做错了什么?你有没有建议使用机器人框架selenium2library使用拖放功能?

祝你好运, 丹

1 个答案:

答案 0 :(得分:2)

我无法检查,但我记得The query can't be executed!ERROR: 22P04: extra data after last expected column 以这种方式工作:

 string codes_colisage = "COPY code_colisage (REFERENCE_TRANSPORTEUR, CLIENT, PRODUIT, CODE_POSTAL_OU_DEPARTEMENT, IDENTIFIANT_LIEUX_LIVRAISON, REFERENCE_CODE_COLISAGE) FROM 'E:/MDE/KMP/App_Data/CSV/test_alpha/code_colisage.csv' WITH DELIMITER ';' ";

如果此代码无效,请告诉我