Javascript 登录后使用selenium webdriver单击图像按钮

Javascript 登录后使用selenium webdriver单击图像按钮,javascript,java,selenium,selenium-webdriver,automation,Javascript,Java,Selenium,Selenium Webdriver,Automation,我正在尝试使用SeleniumWebDriver自动化登录页面,并使用IE作为浏览器。我遇到的问题是,登录后,我无法选择图像按钮。我甚至在输入登录凭据后引入了时间延迟,脚本仍在运行,按钮未被单击。另外,我也评论了我尝试过的所有方法 我使用的代码是: System.setProperty("webdriver.ie.driver", "C:/Program Files/IEDriverServer/IEDriverServer.exe"); WebDriv

我正在尝试使用SeleniumWebDriver自动化登录页面,并使用IE作为浏览器。我遇到的问题是,登录后,我无法选择图像按钮。我甚至在输入登录凭据后引入了时间延迟,脚本仍在运行,按钮未被单击。另外,我也评论了我尝试过的所有方法

我使用的代码是:

    System.setProperty("webdriver.ie.driver",
            "C:/Program Files/IEDriverServer/IEDriverServer.exe");

    WebDriver driver=new InternetExplorerDriver();
    driver.manage().window().maximize();

    driver.navigate().to("website name");

    driver.findElement(By.id("userid")).sendKeys("username");
    driver.findElement(By.id("password")).sendKeys("password");
    //driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
    driver.findElement(By.id("submitButton")).click();
    Thread.sleep(5000);
    //driver.findElement(By.id("imgBtnAdd")).click();
    //driver.findElement(By.cssSelector("a[href='Images/Go.gif']")).click(); 
    driver.findElement(By.xpath("//img[@ src='Images/Go.gif']")).click();
    //System.out.println("Manual Click of Ok button");
    //By xpath = By.xpath("//button[@name='imgBtnAdd'][@type='image'][contains(image(),'Images/Go.gif')]");
    //WebElement myDynamicElement = (new WebDriverWait(driver, 10))
      //.until(ExpectedConditions.presenceOfElementLocated(xpath));
    //myDynamicElement.click();

    driver.findElement(By.cssSelector("input[id='rblRoleGroup_4']")).click();

    driver.findElement(By.id("imgBtnRoleGroup")).click();

    //WebElement element = driver.findElement(By.id("imgBtnAdd"));
    //Thread.sleep(5000);
    //JavascriptExecutor executor = (JavascriptExecutor)driver;
    //executor.executeScript("arguments[0].click();", element);        
    //driver.close();

您可以尝试sendkkeys:

driver.findElement(By.id("imgBtnAdd")).sendKeys(Keys.ENTER);
如果图像位于新窗口中,请尝试以下操作:

for(String winHandle : driver.getWindowHandles())

{

driver.switchTo().window(winHandle);

}

查看您的代码后,我注意到您的
xpath
是错误的


不要使用
标记的
属性。

尝试单击使用
JavascriptExecuter
可能会对您有所帮助-

driver.findElement(By.xpath("//input[@src='Images/Go.gif']")).click();

在定义图像的位置发布网页源代码HTML/JavaScript片段可能会有所帮助。@Karthik很可能它将转到一个新的选项卡或窗口,因此您需要告诉您的驱动程序切换到该选项卡或窗口-按钮的HTML源代码@ProgrammersBlock@CodingYoshi,你的意思是我必须提供下一个选项卡或窗口的url吗?你收到的错误消息是什么?谢谢你的代码,但它仍然没有被点击该按钮类似于“撰写电子邮件”按钮,它在我们登录Gmail hanks进行回复后出现,我也尝试过,但单击按钮时仍然有问题,您没有在标记中提到任何单击事件。这就是它不可点击的原因。尝试像这样用onclick属性更新标记,然后执行上述代码。它肯定会工作得很好。:)感谢您的脚本,但是如果不手动单击鼠标,则无法单击按钮
      WebElement element =  driver.findElement(By.id("imgBtnAdd"));

      JavascriptExecutor js = (JavascriptExecutor)driver;
      js.executeScript("arguments[0].click();", element);