2016-09-17 2 views
1

Я использую Selenium 2.53 с python 3.4 firefox 47 для автоматизации тестирования. При использовании .send_keys (sendKeys в Java) он автоматически отправит форму, когда я этого не хочу.Selenium Auto отправляет форму с помощью Send_keys?

форма ввода, я посылаю ключи к есть:

<input tabindex="1" type="text" 
        name="PostingTitle" 
        id="PostingTitle" 
        maxlength="70" 
      </label> 

Это странно, потому что он не делает это со всеми формами. Есть ли способ сказать селену не подавать?

+0

Что струна вы посылаете с «отправить ключи»? Есть ли там новая линия? – alecxe

+0

Не могли бы вы также поделиться отправкой строки с помощью 'send_keys()' ?? Вы отправляете ключ ввода или другой? Или есть ли какое-либо событие во время sendKeys на этом HTML? –

+0

Спасибо за ответ. Нет новой строки и нет «вводить» или «возвращать» или связанные ключи. –

ответ

1

При использовании .send_keys (sendKeys в Java) он автоматически отправит форму, когда я этого не хочу.

Это может быть возможно ваш желаемый текстовый блок захвата ключевых событий во время SendKeys, которые могут быть вызвать любую функцию JavaScript, чтобы отправить форму, потому что sendKeys работает в обычном режиме в качестве входных данных пользователя из ключей.

Из комментариев: -

Нет новой строки и не «войти» или «возврат» или связанные с ним ключи. В приложении sendKeys на html не происходит никаких событий.

Тогда трудно сказать, почему sendKeys отправьте форму.

Вы можете использовать execute_script() вместо который молча установить значение в вашем текстовом поле без каких-либо происходящих событий, как: -

driver.execute_script("arguments[0].value = arguments[1]", driver.find_element_by_id("PostingTitle"), "you‌​r value to set") 
+1

Спасибо, что сделал это! –

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