当前位置: 首页 > 知识库问答 >
问题:

Selenium WebDriver和Java机器人类

王兴庆
2023-03-14

我想使用Java机器人类,以便将鼠标移动到一个链接上,动态地创建更多的内容。对于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

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

共有2个答案

濮彬
2023-03-14

如果你只是想在页面上做一个鼠标移动,Selenium interactions也能帮你做到这一点。

下面是为您准备的示例代码

WebElement myLink = driver.findElement(By.xpath("//li[@id='1234']/a"));

Actions act = new Actions(driver);
act.moveToElement(myLink).build().perform();

// if you want to click on the link : 
act.click(myLink).build().perform();

// if you want to move to the element and then click onthe link : 
act.moveToElement(myLink).click(myLink).build().perform();

// or can be done in two different steps like this : 
act = act.moveToElement(myLink);
act.click(myLink).build().perform()

为此,我们应该导入org.openqa.selenium.interactions.actions;

希望这能解决你的问题。

乜钱明
2023-03-14

鼠标操作,你可以实现(动作类)不使用机器人也。

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

在您的文件中包括下面的import语句。

import org.openqa.selenium.interactions.Actions;
 类似资料:
  • 我们正在与IE和Java一起运行Selenium。单击web页面上的链接将打开一个新的IE页面,该页面显然不是IE驱动程序的子页面,因此我无法执行驱动程序。switchTo();这一页是一个表单,文件名和确定按钮为空白。以前的开发人员创建了一个robot类,并发送9个TAB键压事件以获得OK按钮,然后发送一个 现在我需要更改文件名中的值,所以我计算了制表符的数量,直到我到达文件,然后做一个退格键并

  • 问题内容: 使用该方法时,需要将哪种代码传递给JavaFX Robot ? 例如,下面的示例输入,而不是,因此我想某处有一个映射。 注意:这是JavaFX机器人,而不是AWT机器人。 问题答案: 代码在javafx.scene.input.KeyCode中定义为常量。 使用玻璃机器人,您可以使用不推荐使用的方法: 您也可以使用FXRobot,它以KeyCodes作为参数:

  • 概述 PDF版下载 机器人是企业群的高级扩展功能,所有的Hi企业用户均可在企业群中添加使用机器人功能。 企业可以通过机器人推送消息到群聊,也可以通过机器人接收用户的消息,拥有用户和机器人对话的能力。 机器人类型 自定义机器人:由企业开发实现的机器人,一般用来发送企业通知,也可以利用ai会话技术实现有趣的功能。 企业机器人:目前开放的定时通知、投票、问卷机器人由如流开发,企业管理员在企业管理后台的「

  • 我们的实验室与一家网络公司合作,开发了保护网页不被网络爬虫抓取的技术。测试网站http://119.254.209.77/。我不能在左边的页面上得到网址,比如“检查”。当我点击链接时,它会创建一个网址。使用Python Selenium Firefox,我模拟了点击操作,但是我得到了一个空白页面,而不是真实的数据。如果我只是自己点击链接,它会返回真实的数据。所以我想知道如何服务器可以识别我是一个网

  • 我正在尝试使用Robot类创建一个游戏机器人。我尝试了以下代码来执行鼠标的右键单击: 而且奏效了。 我正在客户端3D在线游戏上测试它。 按下键“1”应该在Game中执行某种移动,当我尝试下面的代码时,它不起作用: 但当我在游戏中聊天时使用该代码时,它确实起了作用。 它被测试了一遍又一遍,我得到了同样的结果。 是我做错了什么吗?还是游戏发现我不是那个按下那个键的人。

  • 我无法通过java robot类按特殊字母(中文、西里尔文等)。我有一种按键的方法,它可以作为alt keycode。我不能把一些特殊的字母转换成正确的密码。那我该怎么解决呢。坦克斯 例如: 按键: