作为Selenium的新学员,我正在尝试在Google搜索按钮的Google页面上确定一个基本元素。但是,即使元素在页面上完全可见,我也会得到NoSuchElementException
。
代码段:
String driverPath = "C:\\Users\\nchaudhary006\\IEDriverServer.exe";
System.setProperty("webdriver.ie.driver",driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
InternetExplorerDriver driver = new InternetExplorerDriver(capabilities);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.get("https://google.com");
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.findElement(By.name("btnK"));
解决方案:
我可能做错了什么?
答案 0 :(得分:0)
我不确定name
与btnK
完全引用哪个元素,但在https://google.com
上name
有一个搜索字段为q
< / p>
使用Selenium 3.4.0,IEDriverServer 3.4.0&amp; IE 10.x(及以上)以下代码将放置&#34; Neha Chaudhary&#34;在搜索字段中。
关于解决方案的几句话:
InternetExplorerDriver
界面,而不是WebDriver
实施。driver.findElement(By.name("btnK"));
时,请将其存储为WebElement
以供将来使用,或者按click()
或sendKeys("Neha Chaudhary")
以下是工作代码段:
String driverPath = "C:\\Utility\\BrowserDrivers\\IEDriverServer.exe";
System.setProperty("webdriver.ie.driver",driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
WebDriver driver = new InternetExplorerDriver(capabilities);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("https://google.com");
driver.findElement(By.name("q")).sendKeys("Neha Chaudhary");
如果这回答你的问题,请告诉我。