Java 在执行测试脚本时,无法使用selenium单击登录按钮

Java 在执行测试脚本时,无法使用selenium单击登录按钮,java,xpath,selenium-webdriver,automated-tests,Java,Xpath,Selenium Webdriver,Automated Tests,在为登录提供Xpath之后,当我通过selenium测试脚本时,无法单击登录按钮。 情景- •通过提供用户名和密码登录应用程序 public class Myclass { public static void main(String[] args) throws IOException, InterruptedException { System.setProperty("webdriver.gecko.driver","C:\\Users\\karokiaswamy\\Doc

在为登录提供Xpath之后,当我通过selenium测试脚本时,无法单击登录按钮。 情景- •通过提供用户名和密码登录应用程序

public class Myclass {

  public static void main(String[] args) throws IOException, InterruptedException {
     System.setProperty("webdriver.gecko.driver","C:\\Users\\karokiaswamy\\Documents\\Selenium_installation\\geckodriver-v0.15.0-win64\\geckodriver.exe");
     WebDriver driver = new FirefoxDriver();
     Runtime.getRuntime().exec("c:\\autoit\\HandleAuth.exe");
     driver.get("Application URL");
   //Runtime.getRuntime().exec("C:\\autoit\\HandleAuth.exe");
     Thread.sleep(1000);
     driver.get("Application URL");
     driver.findElement(By.xpath(".//*[@id='siteLoginTab']/form/table/tbody/tr[1]/td[1]/input")).clear();
     driver.findElement(By.xpath(".//*[@id='siteLoginTab']/form/table/tbody/tr[1]/td[1]/input")).sendKeys("testtrack");
     driver.findElement(By.xpath(".//*[@id='siteLoginTab']/form/table/tbody/tr[1]/td[2]/input")).clear();
     driver.findElement(By.xpath(".//*[@id='siteLoginTab']/form/table/tbody/tr[1]/td[2]/input")).sendKeys("password01");
     driver.findElement(By.xpath(".//*[@id='siteLoginTab']/form/table/tbody/tr[1]/td[3]/button")).clear();
     driver.findElement(By.xpath(".//*[@id='siteLoginTab']/form/table/tbody/tr[1]/td[2]/input")).sendKeys(" ");
     driver.findElement(By.xpath("///button[@class ='btnSmall btnGreen']")).click();
   //driver.findElement(By.xpath(".//*[@id='siteLoginTab']/form/table/tbody/tr[1]/td[3]/button")).click()
  }
}

若我理解你们的意思,你们在点击登录按钮后会得到一个异常。 如果您这样做,您可以使用javascript单击,如下所示:

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

如果可能,复制您的登录页面html。您可以提供更多信息:1。通过
Runtime.getRuntime().exec(“c:\\autoit\\HandleAuth.exe”)你在做什么?2.您能为站点提供有效的凭据吗?@venkatasiva-Runtime.getRuntime().exec(“c:\\autoit\\HandleAuth.exe”)用于在导航到应用程序之前提供身份验证警报的用户名和密码。@venkatasiva-出于安全原因,我无法提供应用程序URL和身份验证凭据。请尝试通过查看上面的代码给出解决方案。您得到的错误是什么?