无法在selenium 3.0中找到元素

时间:2017-03-24 05:25:51

标签: java selenium

我正在编写一个脚本来查找“登录”并单击它以获取基于Web的应用程序,但我得到例外:

  

没有这样的元素:无法找到元素

我的代码:

System.setProperty("webdriver.chrome.driver","D:\\Selenium\\drivers\\chromedriver_win32\\chromedriver.exe");

WebDriver driver = new ChromeDriver();
driver.get("http://www.wayn.com"); //to find login
driver.findElement(By.xpath("//*[@id='TopMenu']/div[1]/div/div[2]/login-buttons/div/div[1]/div[1]"))
                  .sendKeys(Keys.ENTER);

2 个答案:

答案 0 :(得分:2)

试试这种方式。

driver.get("http://www2.wayn.com");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

driver.findElement(By.xpath("//div[@class='button big left red ng-isolate-scope'][@wayn-log-click='loginButtonsLogClick']")).click();

xpath的说明:使用classwayn-log-click属性以及<div>标记。

建议:,而不是使用absolute xpath,请使用relative xpath

答案 1 :(得分:1)

尝试等待元素可见:

WebDriverWait wait =new WebDriverWait(driver, 20);

wait.until(ExpectedConditions.visibilityOfElementLocated(By.name("username")));

driver.findElement(By.name("username")).sendKeys("username");
driver.findElement(By.name("password")).sendKeys("password");