我对selenium中Click
和ClickAt
命令之间的区别感到困惑。我在哪里可以使用ClickAt
命令?
答案 0 :(得分:13)
以下是Selenium IDE对这两个命令的说法:
click(locator)
参数:
- locator:元素定位器
点击链接,按钮,复选框或 单选按钮。如果点击动作 导致加载新页面(如链接 通常会),调用waitForPageToLoad。
并且:
当您只想“点击”某个元素(如按钮,链接等)时,会使用
clickAt(locator, coordString)
参数:
- locator:元素定位器
- coordString:指定鼠标的x,y位置(即-10,20) 相对于返回的元素的事件 由定位器。
点击链接,按钮,复选框或 单选按钮。如果点击动作 导致加载新页面(如链接 通常会),调用waitForPageToLoad。
click
。
如果您想要“点击”鼠标坐标指定的位置,则会使用clickAt
。
我想第二个应用程序对某些“丰富”的应用程序很有用 - 我实际上从未使用它......另一方面,我一直使用click
。
如果您有一个包含表单元素,链接,按钮和类似内容的页面,您通常可能会使用click
:使用它的id或classname来查找元素比找到它更容易页面上以像素为单位的位置^^
答案 1 :(得分:3)
在测试ExtJS应用时,我注意到click()和clickAt()之间存在一些差异。 例如,如果我尝试单击 Ext.TabPanel 中的选项卡,则单击()命令不起作用,尽管我为其提供了正确的xpath,并且单击了( ) 工作良好。 代码如下所示:
click("//li[@id='tab-panel-id__second-tab-id']/a[2]/em/span/span")
不起作用,但
clickAt("//li[@id='tab-panel-id__second-tab-id']/a[2]/em/span/span","0,0")
的工作原理。 请注意,坐标为(0,0)
我无法弄清楚为什么会发生这种情况......
答案 2 :(得分:1)
我正在测试GWT应用程序,如果我想点击树小部件中的节点,我似乎必须使用clickAt。
答案 3 :(得分:1)
测试clickAt时要小心。有时双击该命令将使其显示为红色。您将更改该行以尝试其他替代方案,但没有任何方法可行。但是然后运行你的脚本,clickAt行对你输入的内容都没问题。
答案 4 :(得分:1)
我们的应用程序中有一个dojo小部件,仅适用于clickAt("//span[@id='mastheadIconBar']/span[1]/span/span","0,0")
。
不知道原因,但只有click("//span[@id='mastheadIconBar']/span[1]/span/span")
不起作用。
答案 5 :(得分:0)
如果您使用的是IE,则必须使用clickAT。