2013-09-09 3 views
-1

Привет, У меня есть нижний html-код, я не могу идентифицировать кнопку ввода ввода при использовании Selenium (через Java). Он говорит, что не может найти элемент. Не могли бы вы помочь мне?Не удается найти объект, используя Selenium

Я пробовал использовать метод xpath и cssselector, но это бесполезно. Нужно ли мне изучать класс исполнителя Javascript? Каковы различные способы ...

Пожалуйста, помогите мне

<span class="filed"> 
<input id="SubmitButton" type="submit" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("SubmitButton", "", true, "Validation", "", false, false))" value="SubmitButtonLabel" name="SubmitButton"/> 
</span> 
+1

какой 'xpath' и' css selector' вы использовали, поделитесь пожалуйста. –

+2

Еще одна вещь, которую нужно проверить, - это если вход содержится внутри фрейма или iframe. Если это так, вам нужно будет использовать Driver.SwitchTo.Frame ("frameIdentifier"), а затем вы сможете получить доступ к элементу. – Richard

+1

Возможно, было бы полезно опубликовать все родительские элементы SubmitButton, чтобы мы могли видеть все элементы, содержащие его. Это может быть нечто простое, как скрытый элемент, или, как предложил Ричард, ваш элемент может находиться в другом кадре. – AndyPerfect

ответ

0

Это может быть, что элемент не загружен в DOM еще. Попробуйте дождаться ожидаемых условий.

Wait<WebDriver> wait= new FluentWait<WebDriver>(driver).withTimeout(15L, TimeUnit.SECONDS).pollingEvery(1, TimeUnit.SECONDS); 

WebElement submitButton= wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("SubmitButton"))); 
+0

@Babai - Я использовал driver.findElement (By.xpath (".//*[@ id = 'SubmitButton']") и driver.findElement (By.cssSelector ("input # SubmitButton") – user2762331

+0

Спасибо ... позвольте мне попробовать это .. и я позволю вам ... Я думаю, это точно .. Я узнал что-то новое ..: D – user2762331

+0

Этот код по-прежнему не работает ... :( – user2762331