java - Selenium WebDriver 和 Java 机器人类

标签 java selenium selenium-webdriver awtrobot

我想使用 Java Robot 类将鼠标移到链接上以动态创建更多内容。对于 Web 交互,我使用 Selenium WebDriver。

    Point coordinates = driver.findElement(By.xpath("//li[@id='1234']/a")).getLocation();
    Robot robot;
    try {
        robot = new Robot();
        robot.mouseMove(coordinates.getX(),coordinates.getY()+120);
    } catch (AWTException e1) {
        e1.printStackTrace();
    }

Selenium 为 getLocation 函数抛出错误:

Exception in thread "main" org.openqa.selenium.WebDriverException: Cannot determine size of element

有人知道我做错了什么吗?

最佳答案

无需使用机器人即可实现鼠标悬停操作(Actions类)。

new Actions(driver).moveToElement(driver.findElement(By.xpath("//li[@id='1234']/a"))).perform();

在您的文件中包含以下导入语句。

import org.openqa.selenium.interactions.Actions;

关于java - Selenium WebDriver 和 Java 机器人类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23913197/

相关文章:

python - 循环元素时如何解决 StaleElementReferenceException (Selenium)

python - 如何使用幻像和基本 http 身份验证调试 selenium webdriver?

Python Selenium "Connection refused"错误在 ssh 终端中出现,但在常规终端中没有出现

python - 如何使用python在selenium中通过部分id名称查找元素

python - 如何使用selenium让chrome浏览器在后台运行

java - 无法在 android studio 中使用 viewpager 查看选项卡布局中的选项卡名称

java - 如何在 macOS Sierra 上卸载 Java 9

java - 从一个方法返回两个数组

java - 语法错误,在Eclipse中导入TestNG的@Test注释时插入 "EnumBody"以完成ClassBodyDeclarations错误

java - 使用 Java 8 lambdas/transformations 组合和展平两个 Map