2013-12-06 4 views
0

Должна ли кнопка быть в форме для выполнения операции щелчка на ней? Я используюКнопка Selenium Нажмите

driver.findElement(By.tagName("button")).submit(); 

Я также попытался настроить таргетинг на эту кнопку с именем класса, но я продолжаю получать следующую ошибку.

Элемент был не в форме, не может представить длительность команд или тайм-аут: 0 миллисекунды Для документации на эту ошибку, пожалуйста, посетите: http://seleniumhq.org/exceptions/no_such_element.html

+1

Вы должны иметь возможность использовать 'driver.findElement (By.tagName (" button ")). Click()' – Richard

+0

Спасибо, это сработало! – Jay

ответ

1

Вы должны быть в состоянии использовать driver.findElement(By.tagName("button")).click()

2

Должна ли кнопка быть в форме для выполнения операции щелчка на ней?

№ Нет. Ничто «не имеет» нигде, чтобы работать на нем, пока оно видно.

, но я получаю ошибку ниже

Это потому, что вы пытаетесь вызвать submit() на эту кнопку. Если бы он был в форме, это сработало бы, но поскольку это не так, именно поэтому вы получаете эту ошибку.

Я также попытался нацеливание на эту кнопку с именем класса

Как вы выбираете это не имеет никакого значения. Вы, скорее всего, найдете правильный вариант, если не существует более 1 <button /> элементов. Некоторые варианты были бы,

By.cssSelector('button[attr='attr']') 
By.tagName('button') // this is assuming that it is the only button in the DOM. 
By.className('someClass') 

ли, как уже упоминалось @Richard и вызвать метод click(), а не метод submit().

Смежные вопросы