Selenium Webdriver Firefox点击但Chrome不能

时间:2014-03-31 11:10:24

标签: selenium-webdriver

我想点击元素。 首先,我需要将鼠标悬停在菜单上,然后我需要点击列表中的第3个项目。

我的代码:

// open a list
driver.findElement(By.xpath("//li/span")).click();

// click on 3rd item
driver.findElement(By.xpath("//li[3]/a/span")).click();

这很奇怪,因为它在firefox中工作正常,但在chrome

中不起作用

1 个答案:

答案 0 :(得分:0)

@lebs我不得不写这个作为答案,因为我没有足够的重复点来添加评论。您需要提供更多信息。在Chrome中运行时,堆栈跟踪中的输出是什么?您是否在IDE中调试了此问题?在尝试单击第3项之前,您是否尝试过Wait命令?

在测试Google Web Toolkit应用程序时,元素可以在DOM中删除,并替换为几乎相同的元素。也许尝试再次声明该元素。

WebElement openList = chromeDriver.fineElement(By.xpath("//li/span")).click();

new WebDriverWait(chromeDriver, 10,50).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//li[3]/a/span")));

WebElement thirdItem = chromeDriver.findElement(By.xpath("//li[3]/a/span")).click();

另外,如果可以的话,我会考虑使用css选择器。