【问题标题】:How can i perform mouse move using Selenium WebDriver for Java and PageFactory如何使用 Selenium WebDriver for Java 和 PageFactory 执行鼠标移动
【发布时间】:2014-05-21 16:18:32
【问题描述】:

我有一个 HTML 链接,并且我使用页面对象模式通过 Selenium Webdriver 编写脚本。但是我的链接是隐藏的,当使用 pageFactory 初始化对象时,我无法执行 MouseMove 操作。

这是我的课:

public class DashboardPage {
WebDriver driver;

@FindBy(xpath = Constants.admin)
public WebElement adminButton;
@FindBy(xpath = Constants.usersAndRoles)
public WebElement usersAndRolesButton;
@FindBy(xpath = Constants.users)
public WebElement usersButton;

public DashboardPage (WebDriver dr){
    driver =dr;
}

public UsersPage goToUsersPage(){
    adminButton.click();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    Actions builder = new Actions(driver);    
    builder.moveToElement(usersAndRolesButton).build().perform();
    //usersAndRolesButton.click();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    usersButton.click();
    return PageFactory.initElements(driver, UsersPage.class);
}

【问题讨论】:

  • 能否向我们提供您网页的 HTML 代码(或部分代码)?

标签: java selenium selenium-webdriver pageobjects


【解决方案1】:

尝试使用滚动到元素并对其执行操作。尝试以下功能。将您的元素传递给功能,页面将滚动到该元素,然后执行任何其他操作-

public void scrollToElement(WebElement element){
 int elementPosition = element.getLocation().getY();
   elementPosition = elementPosition-200; // You can change 200 to any value if your page have sticky header       
   System.out.println(elementPosition);
   String js = String.format("window.scroll(0, %s)", elementPosition);
   ((JavascriptExecutor)driver).executeScript(js);

}

//other operation
element.click(); //etc....

【讨论】:

    【解决方案2】:

    以下代码对我有用。

    @FindBy(xpath = Constants.usersLink)
    public WebElement usersLink;
    
        public UsersPage goToUsersPage() {
                JavascriptExecutor usersPage = (JavascriptExecutor) driver;
                usersPage.executeScript("arguments[0].click();", usersLink);
                return PageFactory.initElements(driver, UsersPage.class);
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-22
      • 2018-04-25
      • 1970-01-01
      • 1970-01-01
      • 2018-06-06
      • 2014-10-11
      • 1970-01-01
      • 2016-06-18
      相关资源
      最近更新 更多