无法在Selenium中找到元素尝试过xpath,name,id,css选择器

时间:2015-10-22 08:55:47

标签: java html selenium xpath

我尝试过使用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();

3 个答案:

答案 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);