我对硒还不熟悉。我使用Gridrastic作为测试环境。
我已经学习了selenium的Actions类,它有移动鼠标的方法,还通过调用getMouse()通过web驱动程序获得了鼠标实例,并尝试移动鼠标,但没有成功。
@Test(enabled = true)
public void test_site() throws Exception {
Coordinates elementLocation = null;
driver.get("https://www.amazon.com");
Mouse mouse = ((HasInputDevices) driver).getMouse();
System.out.println(mouse.toString());
if(mouse==null) {
System.out.println("mouse is null");
}
WebElement element1=driver.findElementByXPath("//*[@id=\"a-autoid-0-announce\"]");
elementLocation = ((Locatable) element1).getCoordinates();
mouse.mouseMove(elementLocation);
Thread.sleep(5000); //slow down for demo purposes
}
还尝试了使用actions类
@Test(enabled = true)
public void test_site() throws Exception {
driver.get("https://www.google.com/ncr");
Actions builder = new Actions(driver);
builder.
moveByOffset( 100, 1 )
.build().perform();
Thread.sleep(10000); //slow down for demo purposes
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("webdriver");
element.submit();
Thread.sleep(5000); //slow down for demo purposes
}
仍然没有成功,鼠标指针始终保持在位置(0,0)。有人能帮忙吗?
我也尝试过使用javascript执行器,但这是不可能的,因为鼠标光标是由操作系统控制的。我曾想过更改窗口对象clientX和clientY的值,但根据文档,这些值是只读的。
你可以用AutoIT控制鼠标点。您需要从Selenium运行时环境(看起来您正在使用java)启动AutoIT脚本。以下是调用AutoIT脚本的代码:
//Some arbitrary example Selenium code...
driver.findElement(By.id("input_4")).click();
// below line execute the AutoIT script .
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
这似乎很奇怪,但如果您尝试以下代码,您将看到,您没有看到移动的鼠标指针:
PointerInput p = new PointerInput(PointerInput.Kind.MOUSE, "MyMouse");
Interaction i = p.createPointerMove(Duration.ofSeconds(2), PointerInput.Origin.fromElement(element1), 5, 5);
Actions builder = new Actions(driver);
Action mouseOverHome = builder
.tick(i).click()
.build();
mouseOverHome.perform();
我添加了点击来演示效果。我必须在//*[@id=\"nav-car\"]
使用购物车。您的xpath表达式对我来说不可见。您会注意到点击之前购物车图标的鼠标悬停效果。
问题内容: 我试图单击此页面上的元素: 在这一点上,我想单击“现金流量”,“资产负债表”或“季度”。我知道这些按钮已加载,因为我可以使用BeautifulSoup从页面源中提取它们。但是,当我尝试使用Selenium时: 全部返回“无法定位元素”,除了“季度”返回一个元素,但它位于图上方的一个元素而不是我感兴趣的表格上方的一个元素。 我认为这是由于位于错误的iframe中,而我找到了所有ifram
使用mongo c#驱动程序的连池和等待队列出现问题。 有没有办法从MongoClient获取指标?活动连接的数量、连接池的大小、等待队列的大小等。
我是硒的新手,我面临着简单任务的问题。 我试图将鼠标移动到页面中的特定区域(x,y坐标),然后单击,但没有成功。我确实阅读了文档,因为chromewebdriver,我使用了。 这是我的代码: 另一个问题。我知道有第四个参数起源,但是,我不知道我是否正确导入了它。 我也不知道如何触发点击事件,因为我没有选择任何元素。我想点击鼠标指针的最后位置。
我正在开发nodejs,我添加了selenium模块。现在我被困在点击按钮上。我必须通过将鼠标指针移动到元素位置来点击。并且需要点击它。所以有人告诉我如何使用ActionSequence在特定的x y坐标上移动鼠标并用selenium上下点击鼠标。 我已经搜索过了,但只得到了与Java相关的解决方案。
我试图执行一个测试在移动设备但我有下一个错误 Chrome版本:83.04103.101 我正在寻找解决方案,但什么也没找到。
问题内容: 我从LDD3第14章读到了有关热插拔驱动程序的信息。我需要编写一个USB鼠标驱动程序,在插入硬件时会加载该驱动程序。现在,通过做一些实验,我知道有一个名为“ hid-generic”的驱动程序,在插拔时会被调用。 另外,lsmod显示 我的疑问如下 1)为了在插入此鼠标时加载模块(hotplug),我必须在内核中禁用这3个驱动程序,并使用id_table中具有供应商和设备ID的驱动程序