2015-09-09 2 views
-1

Попытка проверить/изучить селеном для входа ошибка - исключение в потоке «основного» org.openqa.selenium.ElementNotVisibleException: элемент не видимыйСелен не может найти элемент на веб-сайте (хром/Java)

package com.indeed.tests; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class test1 { 

    public static void main(String[] args) { 

     System.setProperty("webdriver.chrome.driver", 
     "C:\\Users\\****\\Desktop\\neww\\trainingfiles\\chromedriver.exe.exe"); 
     WebDriver driver = new ChromeDriver(); 

     driver.get("http://www.neopets.com/login/index.phtml"); 
     driver.findElement(By.name("username")).sendKeys("test1"); 
    } 
    private static void sleep(int i) { 
    } 
} 
+2

Пожалуйста, [править], чтобы добавить конкретную формулировку проблемы - «это Безразлично «работа», но * как это не работает? Какое сообщение об ошибке или неправильное поведение характерны? (Кроме того, вы не закрываете скобки, так что ваш код не будет компилироваться.) –

+0

спасибо за отзыв, отредактировал его! – theeinfamousone

ответ

1

Я посмотрел на эту веб-страницу. Проблема в том, что есть два поля ввода с именем «имя пользователя». Один из них не виден. Вероятно, Селен получает это. То, что вы должны сделать, это:

List<WebElement> elements = driver.findElements(...); 

, а затем получить второй (или первый, что угодно), а затем попробовать:

elements.get(1).sendKeys(...); 
+0

спасибо, что это определенно кажется проблемой, если я нажму на верхний «вход в систему», он заполняет информацию, поэтому я сначала могу .click() в элементе «войти в систему», и он будет работать, однако «журнал in "не имеет класса или имени, связанных с ним, когда я его проверяю, знаете ли вы, как я мог .click() в этом элементе? – theeinfamousone

+0

Я использовал xpath и получил работу за тонну! – theeinfamousone