【问题标题】:extjs split button arrow clickextjs 拆分按钮箭头单击
【发布时间】:2020-11-18 09:55:41
【问题描述】:

我正在尝试通过 selenium webdriver 单击 extjs 拆分按钮上的箭头。我尝试了多次,但没有取得任何突破。这是下面的链接,您可以在其中找到拆分按钮。我只是想以某种方式硒单击箭头,以便菜单项扩展我将处理的其余工作。任何帮助表示赞赏

https://docs.sencha.com/extjs/6.5.3/modern/Ext.SplitButton.html

【问题讨论】:

  • 你能分享一下你到目前为止所做的尝试吗?最简单的方法是使用 Ext.ComponentQuery.query('splitbutton')。您将获得所有拆分按钮的数组,获得正确的并调用该组件上的方法。
  • 您好,感谢您的回复,该拆分按钮是我项目的一部分,我正在编写像这样 driver.findElement(By.Id("options")).click(); 的 selenium 代码跨度>
  • 所以在您点击此页面中的“运行”按钮后,您想展开菜单中的选项吗?
  • 无论是通过控制台上的 javascript 命令还是本机 selenium 命令,我都想点击拆分按钮的箭头,一旦我点击箭头,就会弹出一个带有菜单项的菜单

标签: java selenium selenium-webdriver extjs selenium-chromedriver


【解决方案1】:

使用clickAt方法点击右侧按钮:

driver.findElement(By.Id("options")).clickAt("60,10");

正确的值取决于按钮的大小,只取大约 -10 像素的宽度和一半的高度。

【讨论】:

  • clickAt() 方法在 3.8.1 selenium-java 中不可用,所以我尝试了 int buttonWidth = optionbutton.getSize().width; int xOffset = buttonWidth/2 - 3;动作生成器 = 新动作(驱动程序()); builder.moveToElement(optionbutton, xOffset, 0); builder.click();
【解决方案2】:

我通过 selenium 执行 extjs javascript 命令来解决这个问题,这将打开/展开菜单项。

window.c = Ext.getCmp('options')
c.showMenu() 

所有项目展开后,我们可以使用 selenium 或通过 javascript 点击元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多