如何在selenium中禁用鼠标选择字段?

时间:2014-06-10 05:28:57

标签: selenium

我在selenium开发了一个非常简单的门户登录应用程序。它完美地运行,使用以下代码

WebDriver  driver = new FirefoxDriver(firefoxProfile);
driver.get("http://inernalportal.com");
WebElement element = null;
element = driver.findElement(By.id("txtLoginID"));
element.sendKeys("user");
element = driver.findElement(By.id("txtpassID"));
element.sendKeys("password");
element = driver.findElement(By.id("btnLogin"));
element.click();

然而,当selenium输入用户名时,如果用户通过单击该字段明确地选择用户名字段(使用鼠标),则在输入密码之间我遇到问题,然后selenium在txtLoginID而不是txtpassID处输入密码,这将显示为userasd。

我想在数据输入期间禁用鼠标/键盘事件。

如何做到这一点。教学指南。

1 个答案:

答案 0 :(得分:0)

尝试以下代码,这将禁用鼠标事件

    import org.openqa.selenium.JavascriptExecutor;


    WebDriver  driver = new FirefoxDriver();
    driver.get("http://inernalportal.com");
    WebElement element = null;
    element = driver.findElement(By.id("txtLoginID"));
    element.sendKeys("user");
    ((JavascriptExecutor)driver).executeScript("document.getElementById('txtLoginID').style.pointerEvents='none'", driver.findElement(By.id("txtLoginID")));
    element = driver.findElement(By.id("txtpassID"));
    ((JavascriptExecutor)driver).executeScript("document.getElementById('txtpassID').style.pointerEvents='none'", driver.findElement(By.id("txtpassID")));
    element.sendKeys("password");
    element = driver.findElement(By.id("btnLogin"));
    element.click();