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

如何在selenium中禁用鼠标选择字段?,selenium,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

我用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处输入密码,并且用户ASD将看到该密码

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


如何做到这一点。请指导。

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

    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();

非常感谢,它很有效。我真的很感谢你及时的帮助。Girish,你的技巧在firefox上非常有效,但是在IE上不起作用。我正在使用IEDriverServer_x64_2.42.0。我的代码相同,唯一不同的是System.setProperty webdriver.ie.driver,D:\\Downloads\\IEDriverServer\u x64\u 2.42.0\\IEDriverServer.exe;WebDriver=newinternetexplorerdriver;可能是Java脚本在IE中执行不正确。您使用的是哪个版本的IE?JavascriptExecutor驱动程序。executeScriptdocument.getElementsById'txtLoginID'。值='id';;JavascriptExecutor驱动程序.executeScriptdocument.getElementsById'txtPassword'。值='pass';;解决了我的问题。谢谢