我是Selenium WebDriver的初学者,我在StackOverflow主页上使用这个测试。这些将是我测试的步骤:如何在使用Java的Selenium WebDriver上将鼠标移动到元素上时关注元素?
- 首先,转到StackOverflow的主页。
- 然后,移动鼠标上用户按钮使得其将被聚焦。 (我们没有去点击它只是将鼠标悬停它。)
- 现在,发现屏幕上的有源元件(即这是 当前焦点的元素),然后点击它。
我想要用户按钮被点击,因为它是目前的焦点,但没有发生。而不是问题按钮被点击。 这是我为同一测试编写的代码。
package insertCartridge;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
public class Practice {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
System.setProperty("webdriver.gecko.driver", "D:\\SELENIUM\\geckodriver-v0.18.0-win64\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS) ;
String baseUrl = "https://stackoverflow.com/";
driver.get(baseUrl);
driver.manage().window().setSize(new Dimension(1920, 1080));
WebElement Users = driver.findElement(By.xpath("/html/body/header/div/div[1]/nav/ol/li[5]"));
Thread.sleep(3000);
Actions builder = new Actions(driver);
builder.moveToElement(Users).perform();
Thread.sleep(3000);
driver.switchTo().activeElement().click();
}
}
我不明白为什么我没有得到预期的输出。请帮忙。
你不想点击的用户? –
@PotnuruRavi,是的,我不想点击USERS。只需将鼠标光标移动到它上面,然后找到活动元素(应该是USERS),然后单击它。 – DG4
找到元素(使用坐标)并使用可以移动到“用户”选项卡的操作。 Actions builder = new Actions(driver); builder.MoveToElement(WaitForElement(By.CssSelector(starElement)),location.X,location.Y); –