如何在SeleniumWebDriver中移动光标

如何在SeleniumWebDriver中移动光标,webdriver,selenium-webdriver,Webdriver,Selenium Webdriver,编辑: 好的,我已经通过jquery小部件检查了代码及其呈现 结束 我正试图将光标移动到,但问题是,在我将鼠标指针实际移动到选定图像上之前,元素不会被渲染 如何移动鼠标悬停在上选择/单击 FF version 20 Selenium WebDriver version: 2.31.2.0 现行代码 Actions动作=新动作(驱动程序); int locationX=Convert.ToInt32(ratingElementDiv[i].Location.X); int locationY=r

编辑:


好的,我已经通过jquery小部件检查了代码及其呈现

结束

我正试图将光标移动到
,但问题是,在我将鼠标指针实际移动到选定图像上之前,元素不会被渲染

如何移动鼠标悬停在
上选择/单击

FF version 20
Selenium WebDriver version: 2.31.2.0
现行代码

Actions动作=新动作(驱动程序);
int locationX=Convert.ToInt32(ratingElementDiv[i].Location.X);
int locationY=ratingElementDiv[i]。Location.Y;
actions.MoveToElement(WaitForElement(By.CssSelector(starElement)),locationX,locationY.Click().Perform();

我没有看到任何行动发生。。。任何帮助?

操作由3个步骤组成

  • 配置
(我不确定单击是否正确)

  • 采取行动
  • 执行
试试这个,如果您还有问题,请告诉我。

假设当您单击“选择您的测试”时,您会看到多个元素(ABC、DEF、GHI等)的下拉列表。您要选择ABC并单击它。使用以下命令

driver.findElement(By.linkText("Select Your Test")).click();
new Actions(driver).moveToElement(driver.findElement(By.linkText("ABC"))).click().perform();

此链接将帮助您。它解释了键盘和鼠标事件

这对我很有效

//定位一個按鈕
WebElement button = driver.findElement(By.xpath("//div[@class='page-button']"));
//new 一個移動滑鼠的物件
Actions clickAction = new Actions(driver).click(button);
//執行
clickAction.build().perform();

悬停事件是否由CSS:hover事件触发?如果是这样,您是否使用非本机事件(例如OSX中的FireFox)。如果前面两个问题的答案是肯定的,那么您被卡住了,JavaScript无法触发CSS:hover事件。您需要一个本机实现。1+感谢您提供的信息,我必须检查是否在CSS中发生了悬停,我会回复您。好的,我已经通过jquery小部件检查了代码及其呈现。。。那么在这种情况下,我应该怎么做?页面是公开的吗?不,这不是不幸的错误:on builder.Build()-
不能隐式地将类型“OpenQA.Selenium.Interactions.IAction”转换为“System.Action”
我使用
org.OpenQA.Selenium.Interactions.Actions
我不能帮你更多的忙了,我对jquery不太了解;(有可能有html吗?这个链接很有帮助,但是在你的答案中添加一个快速摘要对读者非常有帮助
selectLink.perform();
driver.findElement(By.linkText("Select Your Test")).click();
new Actions(driver).moveToElement(driver.findElement(By.linkText("ABC"))).click().perform();
//定位一個按鈕
WebElement button = driver.findElement(By.xpath("//div[@class='page-button']"));
//new 一個移動滑鼠的物件
Actions clickAction = new Actions(driver).click(button);
//執行
clickAction.build().perform();