"TypeError:绑定方法move_to_element()必须使用ActionChains实例作为第一个参数调用(获取列表实例)。"

2024-05-20 19:23:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是selenium(最新版本)和python2.7.8。当我试图使用jQueryUI拖放到<div id="droppable">时,收到以下错误消息。TypeError: unbound method move_to_element() must be called with ActionChains ins tance as first argument (got list instance instead)

实际上,我这里的代码正在jQueryUI网站的可删除页面上进行测试。我使用的代码如下所示:

   def testStep4(self):
    # Dragging and dropping a page element
    self.driver.switch_to_frame(self.driver.find_element_by_tag_name("iframe"))
    self.driver.implicitly_wait(15)
    element = self.driver.find_elements_by_id("droppable")
    action_chains.ActionChains.move_to_element(element)

我试图操作的jQuery UI代码是:

^{pr2}$

任何帮助都将不胜感激。我只是糊涂了。我使用的是drag_and_dropselenium对象,但它返回的是相同的错误消息。我觉得我离解决这个问题越来越近了。谢谢!在


Tags: andto代码selfid消息moveby
1条回答
网友
1楼 · 发布于 2024-05-20 19:23:01

首先,使用单数形式find_element_by_id,这样您只得到一个元素,而不是一个列表。我看你没有理由使用find_elements_by_id。然后您需要实例化一个ActionChains对象并对其调用move_to_element,然后perform让它执行操作。所以像这样:

element = self.driver.find_element_by_id("droppable")
action_chains.ActionChains(driver) \
    .move_to_element(element) \
    .perform()

如果您想一次性完成拖放操作,您应该:

^{pr2}$

相关问题 更多 >