0

设想:

我有画廊页面,其中不同的图像粘贴在屏幕上,当我单击图像时,带有下一个和上一个按钮的花式框打开,用户可以下一个和返回以查看花式框中的所有图像

问题


直到我在测试运行期间将鼠标指针物理移动到选定图像上或将鼠标指针设置在测试运行前将显示选定图像的屏幕上之前,花式框才会打开

 WebElement el = driver.findElement(By.xpath("//div[2]/p/a/span"));
    Actions builder = new Actions(driver);
    builder.moveToElement(el).click();
    builder.perform();
    driver.manage().timeouts().implicitlyWait(2000, TimeUnit.SECONDS);
    
    
    // following code add to move mouse pointer physically but its also not working
    
    Point coordinates = driver.findElement(By.xpath("//div[2]/p/a/span")).getLocation();
    Robot robot = new Robot();
    robot.mouseMove(coordinates.getX(),coordinates.getY()+120);
4

1 回答 1

0

Webdriver 可以在不使用Actions. 试试下面的代码片段是否适合你。

WebElement el = driver.findElement(By.xpath("//div[2]/p/a/span"));
el.click();

如果没有,请验证您的 xpath 一次并发布您得到的错误。

此外,您在执行点击操作后添加了隐式等待。这不会引入对 click 命令本身的任何等待。隐式等待与driver变量的生命周期相关联,理想情况下应在driver实例化时添加。

如果您需要为每个操作定制的等待,请尝试使用Explicit Waits.

于 2013-02-14T07:03:35.367 回答