2016-07-12 21 views
5

Jestem nowym selenowym webdriverem. Próbuję wykonać rejestrację dla http://way2automation.com/way2auto_jquery/index.php.Selenium Webdriver - Element niewidoczny

Mogę przełączyć się na okno pop up i wypełnić wszystkie wartości pól. Ale gdy klikam na WYŚLIJ przycisk pokazuje wyjątek Exception in thread "main" org.openqa.selenium.ElementNotVisibleException: element not visible

użyłem XPath z kodem poniżej:

driver.findElement(By.xpath(".//*[@id='load_form']/div/div[2]/input")).click(); 

HTML jest:

<div class="span_1_of_4" align="center"> 
<input class="button" type="submit" value="Submit"> 

Każda pomoc będzie mile widziana . Dzięki z góry

+0

Czy możesz się podzielić tym, jak przełączyłeś się na to wyskakujące okienko? Poprosiłem o to tutaj: http://stackoverflow.com/questions/41828847/python-selenium-webdriver-cannot-switch-to-registration-pop-up – Yabko

Odpowiedz

4

Jak widzę w przewidzianym stronie url istnieją dwa Submit przyciski są obecne, więc jeśli używasz XPath .//*[@id='load_form']/div/div[2]/input zwraca dwa przycisk submit i idzie do kliknięcia na pierwszy Submit przycisku, który nie jest widoczny na forma, dlatego warto spróbować, jak poniżej: -

driver.findElement(By.cssSelector("div#load_box input.button")).click(); 

nadzieję, że będzie działać .. :)

+0

@PGhanghar serdecznie witamy .. chętnie Ci pomożemy ..:) –

2

Poniższa metoda z powodzeniem pracował dla mnie:

WebElement ele=driver.findElement(By.cssSelector("div#load_box input.button"))); 
WebDriverwait wb= new WebDriverwait(20,driver)l 
wb.until(ExpectedConditions.ElementVisible(ele))); 
ele.click();