Я хочу, чтобы заполнить текстовое поле, а затем нажмите кнопку Отправить, используя Python - PullRequest
0 голосов
/ 08 октября 2018

Я хочу заполнить текстовое поле и затем нажать кнопку «Отправить», используя python.После нажатия на кнопку «Отправить», в опе появляется капча, которую нужно решить.Я хочу дополнительно прочитать это изображение с картинки, чтобы преобразовать его в текст и ввести механизм безопасности.Вот что я уже пробовал: «

import selenium
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('www.abc.com')
id_box = browser.find_element_by_id('EnterNo')
id_box.send_keys('1234567890')

До этого момента код работал.Но после этого я не могу нажать кнопку отправки, т. Е. Приведенный ниже код не работает

submit_button = browser.find_element_by_name('SubmitButton')
submit_button.click()

Это приводит к следующей ошибке:

ElementNotInteractableException: Message: Element <input id="SubmitButton" name="SubmitButton" type="hidden"> could not be scrolled into view

1 Ответ

0 голосов
/ 08 октября 2018

кажется, что кнопка не может быть нажата из-за ее стороны обзора.Вы должны прокрутить и затем нажать.

Вот пример кода JS для прокрутки к веб-элементу и щелкните его.

element = driver.find_element_by_id("element id");
driver.execute_script("arguments[0].scrollIntoView(true); arguments[0].click();", element);

Обновление

Действия также могут выполнять работу:

actions = ActionChains(driver)
element = driver.find_element_by_id("element id")
actions.move_to_element(element).click(element).perform()
...