【问题标题】:Is it possible to use CMD + CLICK Element A + CLICK Element B是否可以使用 CMD + CLICK 元素 A + CLICK 元素 B
【发布时间】:2019-10-13 13:29:01
【问题描述】:

我无法使用 Katalon 记录器通过 CMD 键单击元素。是否可以在按下 CMD 键的同时单击两个不同的项目?

我尝试使用 sendKeys、controlKeyDown、keyDown 命令来执行此操作,然后在第一个元素上调用 Click Command,然后在第二个元素上调用 Click Command。但是什么也没发生。

另外,如果我们可以使用 CLICK Element A 然后 CMD + CLICK Element B 进行模拟,那对我来说就可以了。

【问题讨论】:

    标签: katalon-studio katalon-recorder


    【解决方案1】:

    在 Katalon Studio(不是录音机)中切换到脚本模式:

    现在您可以在 Groovy 中编写脚本了!

    接下来,尝试使用 Actions 类,如下所示:

    WebUI.openBrowser("url of the page you are testing")
    
    WebDriver driver = DriverFactory.getWebDriver() 
    
    WebElement targetA = driver.findElement(By.cssSelector("element-a-selector"))
    WebElement targetB = driver.findElement(By.cssSelector("element-b-selector"))
    
    targetA.click()
    Actions actions = new Actions(driver)
    
    actions.keyDown(Keys.CONTROL).click(targetB).keyUp(Keys.CONTROL).perform()
    

    请注意,这是您的第二种情况,首先单击元素 A(您需要添加 CSS 选择器或任何其他标识它的方式),然后按住 CTRL 并单击元素 B。

    第一个(按CTRL,点击元素a,点击元素b,松开CTRL)类似,只是把最后一行改成:

    actions.keyDown(Keys.CONTROL).click(targetA).click(targetB).keyUp(Keys.CONTROL).perform()
    

    并删除targetA.click()

    您需要导入以下 Selenium 辅助类:

    import org.openqa.selenium.By
    import org.openqa.selenium.Keys
    import org.openqa.selenium.WebDriver
    import org.openqa.selenium.WebElement as WebElement 
    import org.openqa.selenium.interactions.Actions
    

    【讨论】:

    • 嗨,伙计,我无法对此进行测试,因为 Katalon Studio 无法执行其他操作 网络记录器可以执行其他操作,但此代码不适用于浏览器插件。
    • @MustafaYakut 抱歉,此代码适用于 Katalon Studio,而不是 Recorder。但无论如何,我鼓励你尝试 Studio 版本,它并没有那么大的变化。
    猜你喜欢
    • 2014-09-02
    • 2011-04-14
    • 2011-02-10
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 2019-01-13
    • 1970-01-01
    • 2023-03-07
    相关资源
    最近更新 更多