我尝试在java中使用selenium webdriver访问博客搜索框。 但我得到了例外
线程“main”中的异常org.openqa.selenium.NoSuchElementException:无法找到元素: { “方法”: “姓名”, “选择器”: “Q”}
我的代码就像那样......
driver.findElement(By.name("q")).sendKeys("Test");
driver.findElement(By.name("q")).sendKeys("kjddbsxkjca");
但它不起作用我也尝试使用类名,xpath,id,名称,但它不起作用..
请给我任何建议?
答案 0 :(得分:1)
因为它在iframe
。您需要先使用名称或ID切换到它。
driver.switchTo().frame("navbar-iframe");
driver.findElement(By.name("q")).sendKeys("Test");
或者,你可以找到frame元素(使用id,name,css selector或xpath),然后切换。
WebElement iframe = driver.findElement(By.id("navbar-iframe"));
// or other locators, By.cssSelector("#navbar-iframe") or By.xpath(".//iframe[@id='navbar-iframe']")
driver.switchTo().frame(iframe);
driver.findElement(By.name("q")).sendKeys("Test");