RobotFramework拖拽到画布,而不是在打印机上工作

2022-10-13 14:14:50标签iframerobotframeworkdragdropgrapesjs
提问

我被自动化控制住了。我正在使用SeleniumLibrary进行机器人框架。我们需要在Chrome浏览器上。 我无法将一个元素从父元素拖拽到iframe / canvas使用机器人框架。后台在葡萄店。我想这不是小事。 演示站点 这是演示页 我想从右边拖拽到画布上。 例如。我想把“滑块”拖到画布上。在这一部分的任何地方 我搜索了大部分答案,但找不到合适的解决方案。 以下是我所尝试的: 第一方法 机器人框架的drap和下降偏移。 我试着把滑块拖到画布上。这是协调。 滑块的坐标:1360125 画布坐标:568153 当我试着把元素从右拉到左x偏移处是负的。 观察 我看到元素被拖到画布上,但没有掉下来。然而,如果我点击,框架正在试图删除,我看到插入在画布上的块。我不能拍屏幕截图,因为我需要点击。 最重要的观察是,光标需要在画布上,以实现下落。我无法用robotframework将光标移动到画布上。 第二种方法 机器人框架的单调,通过鼠标向下偏移。 这两种方法都没有工作,也没有第一个方法。 然后我决定切换到iframe,试着点击画布。 第三种方法 机器人框架的drap和drop by偏移着鼠标向下并切换到iframe。 这也行不通。第一个方法是相同的观察 第四种方法 机器人框架的鼠标移动 在这方面,所有的步骤都是可行的,但是最后一步。元素不会在iframe / canvas上被删除。 第五种方法 我遵循了这样的“机器人”框架:拖拽和删除Selenium2关键字似乎不适合尝试javascript版本。这不是由于画布/ iframe而工作。它在没有iframe的页面上工作。 整个自动化依赖于这一步。 这里有一些我想参考的链接: RobotFramework:拖动和删除Selenium2关键字似乎不工作 Web浏览器挂在机器人框架的拖放关键字上 https://github。com/hmalphettes/robotframeworkselenium2libra - extensions/issue es/1 https://github。com/robotframework/seleniumlibrary//120 如果有一种方法可以拦截拖拽和鼠标点击,我猜它可能会起作用。然而,我不确定iframe drop的父母是否像在这个链接中的https://github。com/jamese - adams/iframe - n - drop所暗示的那样简单

      Open Browser  https://grapesjs.com/demo.html     Chrome
      Maximize Browser Window
      ${src}=                       Set Variable    xpath=//div[contains(text(),'Slider')]
      Drag And Drop By Offset    ${src}    -300   -100
      Close Browser

      Open Browser  https://grapesjs.com/demo.html     Chrome
      Maximize Browser Window
      ${src}=                       Set Variable    xpath=//div[contains(text(),'Slider')]
      Drag And Drop By Offset    ${src}    -300   -100
      Mouse Down    xpath://iframe
      Close Browser

    Open Browser  https://grapesjs.com/demo.html     CHrome
    Maximize Browser Window
    ${src}=                       Set Variable    xpath=//div[contains(text(),'Slider')]
    # Click on the canvas
    Click Element    xpath=//iframe[contains(@class,"gjs-frame")]
    Log To Console    Clicked on canvas...
    # Ensure that the blocks are displayed on the right side, as the click on canvas opens "Style Manager"
    ${present}=  Run Keyword And Return Status    Element Should Be Visible    xpath=//span[@class='gjs-pn-btn fa fa-th-large gjs-pn-active gjs-four-color']
    Log To Console    Preset:${present}
    IF   "${present}"=="False"
       Click Element      xpath=//span[@title='Open Blocks']
       Log To Console     Click on Open Blocks...
    END
    Drag And Drop By Offset    ${src}    -300   -100
    Sleep 5
    Select Frame    xpath=//iframe[contains(@class,"gjs-frame")]
    Sleep   1s
    ${tgt}=                       Set Variable    xpath=/html/body/div[1]
    Wait Until Element Is Visible    ${tgt}
    Mouse Down    ${tgt}
    Click Element    ${tgt}
    Unselect Frame

    Open Browser  https://grapesjs.com/demo.html       Chrome
    Maximize Browser Window
    ${ATTEMPTS}=                  Set Variable    5
    ${LARGER_TIMEOUT}=            Set Variable    10
    ${src}=                       Set Variable    xpath=//div[contains(text(),'Slider')]
    ${tgt}=                       Set Variable    xpath=/html/body/div[1]
    # Hover the mouse on the Slider
    Wait Until Keyword Succeeds      ${ATTEMPTS}     ${LARGER_TIMEOUT}      Mouse Over   ${src}
    Sleep       1s
    # Click and Hold the Slider 
    Wait Until Keyword Succeeds      ${ATTEMPTS}     ${LARGER_TIMEOUT}      Mouse Down   ${src}
    Sleep       1s
    # Move the mouse away from the Slider
    Wait Until Keyword Succeeds      ${ATTEMPTS}     ${LARGER_TIMEOUT}      Mouse Out    ${src}
    Sleep       1s
    Capture Page Screenshot
    # Switch to iframe
    Select Frame    xpath=//iframe[contains(@class,"gjs-frame")]
    Sleep       1s
    Wait Until Element Is Visible   ${tgt}
    # Hover over the canvas/iframe 
    Wait Until Keyword Succeeds      ${ATTEMPTS}     ${LARGER_TIMEOUT}      Mouse Over   ${tgt}
    Sleep       1s
    # Drop the element on the iframe
    Wait Until Keyword Succeeds      ${ATTEMPTS}     ${LARGER_TIMEOUT}      Mouse Up     ${tgt}
    Sleep       1s

▼版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说cuoshuo.com——程序员的报错记录

部分内容根据CC版权协议转载,如果您希望取消转载请发送邮件到cuoshuo8@163.com

辽ICP备19011660号-5