【问题标题】:Selenium driver Python drag and drop, element is dropped where is pointer and not dropping areaSelenium 驱动 Python 拖放,元素被放置在指针所在的位置而不是放置区域
【发布时间】:2020-01-14 14:08:26
【问题描述】:

拖动动作有效,但不是放在选定区域,而是放在鼠标指针位置。有人有什么想法吗?谢谢

def test_drag_action_to_tsb(self, driver):
    source_element = driver.find_element_by_xpath('//*[@id="bzm-action-builder-tabs-tabpane-ACTION"]/ul/li[1]')
    base.wait_for_element(driver, By.CLASS_NAME, 'scriptless-scenarios-steps-panel')
    dest_element = driver.find_element_by_class_name(self, 'scriptless-scenarios-steps-panel')
    ActionChains(driver).click_and_hold(source_element).move_to_element(dest_element).release(dest_element).perform()
    time.sleep(5)
    assert base.is_text_present(driver, 'is Required')
    time.sleep(5)

【问题讨论】:

  • 如果遇到错误,请分享源元素和目标元素的 HTML
  • 没有错误和 dest_element 存在,因为我检查了它(wait_for_element)
  • Here 是同样的问题,没有解决。
  • 源元素在目的元素之上还是之下?
  • 在左侧,同样的 z-index。

标签: python selenium automation


【解决方案1】:

根据selenium documentation,以下代码应该可以工作:

ActionChains(driver). drag_and_drop(source_element, dest_element).perform()

【讨论】:

  • build() 根据文档不可用
  • 对不起,我更新了答案。你试过没有构建吗? @Morticella
  • 这是我使用的第一个版本,但不起作用:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多