我尝试过使用name,id,xpath。但是我在Eclipse中得到的错误是它无法找到元素。
WebDriver driver=new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("https://accenturenordicspov.service-now.com/navpage.do");
driver.findElement(By.xpath("/html/body/form/table/tbody/tr[3]/td[2]/input")).sendKeys("John");
driver.findElement(By.xpath("/html/body/form/table/tbody/tr[4]/td[2]/input[1]")).sendKeys("A***");
driver.findElement(By.id("/html/body/form/table/tbody/tr[7]/td[2]/button")).click();
答案 0 :(得分:3)
根据您提供的链接,表单位于iframe
。因此,您需要切换到框架,然后填写表单。你应该试试这个:
driver.switch_to.frame("gsft_main")
driver.findElement(By.xpath("//input[@id='user_name']").sendKeys("John");
driver.findElement(By.xpath("//input[@id='user_password']").sendKeys("A***");
driver.findElement(By.xpath("//button[@id='sysverb_login']").click();
答案 1 :(得分:2)
可能在不同的框架中。请检查框架或iframe标签是您要交互的框的父级。 如果是,那么你必须切换到那个框架然后只有你可以互动。
答案 2 :(得分:0)
首先需要移动到该帧然后输入元素。如果只是在输入元素之前放入这段代码,上面的代码就可以工作:
String x="gsft_main";
driver.switchTo().frame(x);