要检查我的XPATH / CSS定位器(我都尝试过)是否正确,我添加了selenium.getText(locator)和selenium.highlight(locator) )命令。两者都有效!没问题。只能单击无法使用的单击。
检查Firebug后,我可以看到我要单击的div处于灰色状态。这是否意味着该元素已禁用?请参阅下面的萤火虫截图。
我也尝试在Selenium IDE中运行相同的命令。在IDE中,此功能“有时”可用。
我正在使用Selenium 1.xx运行此测试。
在调试过程中,我做了另一件事。在测试运行期间,我在浏览器中打开了Selenium IDE,以便它记录正在发生的操作。 IDE会记录所有操作,直到单击为止。但是执行click命令时,我在IDE中什么都看不到。任何有想法的人,这是什么原因?
以前有人遇到过类似的问题吗?任何帮助将不胜感激!
编辑
添加了日历的屏幕截图。
日历像弹出窗口一样出现在现有窗口的顶部。
#1 楼
尝试通过Action类单击元素。WebElement webElement = driver.findElement(By.id("Your ID Here"));
Actions builder = new Actions(driver);
builder.moveToElement(webElement).click(webElement);
builder.perform();
如果无法通过Action类单击,则也可以尝试使用Javascript单击元素。
WebElement webElement = driver.findElement(By.id("Your ID here"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", webElement);
#2 楼
尽管您可能会缺少测试日历功能的信息,但如果没有任何效果(因为这不仅是单击日历链接,而且还必须导航至日历中的正确位置),并且它成为了阻止程序,请尝试直接在文本框中输入。 >评论
猜怎么着,没有文本框:)。选择是唯一的方法。
– A.J
2011年5月27日在9:19
因此,我假设您做出选择,并且日期显示为页面上的文本标签,以任何方式可以访问您的应用程序或网上的任何类似应用程序?
–塔伦
2011年5月27日晚上11:36
应用程序当前是内部的。我可以发布一些屏幕截图。
– A.J
2011年5月27日晚上11:41
#3 楼
这是一个很长的路,但是由于该线程似乎无法正常运行……通常,当Selenium在IE中单击内容时出现问题时,这是因为缩放级别未达到100%。#4 楼
我也无法获得click或clickAndWait来处理使用EXT.NET生成的网格中的单元。我确定定位器可以正常工作,因为在Selenium IDE中按下“查找”按钮会导致该单元格以黄色短暂突出显示。我终于尝试了clickAt并成功了。这是我指定的内容:Command: clickAt
Target: //*[@id='ext-gen336']/div[3]/table/tbody/tr/td[4]/
Value: 0,0
clickAt的语法为
clickAt(locator, coordString)
。 coordString的x,y值似乎无关紧要,所以我只使用了0,0。#5 楼
您可以尝试使用selenium.mouseDown(TargetLocator)
吗?现在
TargetLocator
可以直到div
的span
之前,或者直到span
。#6 楼
如果硒中的单击命令不起作用,请按照以下步骤操作:方法-1:
driver.findElement(By.name(“ submit”))。sendKeys(Keys.RETURN) );
方法2:
driver.findElement(By.name(“ submit”))。sendKeys(Keys.ENTER);
参考:单击硒webdriver中的命令
评论
请不要在没有署名的情况下发布引用您的文章的答案,在引用b时不要引用您的文章。有关更多信息,请参见sqa.stackexchange.com/help/promotion。
–凯特·保罗(Kate Paulk)
18/09/12在19:57
评论
您是否尝试过clickAt(0,0)函数?这在很多情况下都有帮助。我尝试过,但想确认这是否正确。这是我尝试过的selenium.clickAt(“ locator”,“”);这是正确的吗?
不。那应该是selenium.clickAt(“ locator”,“ 0,0”);
我不建议使用clickAt,因为它高度依赖于页面上的像素级信息。
哦好的。无论如何,clickAt也不起作用。