Как отправить данные формы с помощью chromedriver? - PullRequest
0 голосов
/ 16 июня 2019

С помощью следующего кода я могу открыть веб-страницу и получить ее содержимое.

Исходя из содержимого этой веб-страницы, я хотел бы выполнить post на этой странице, где я предоставляю немного form data.

Как это можно сделать с помощью API селен / хромедривер?

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome(executable_path=r"/usr/local/share/chromedriver")

url = r'https:\\somewebpage.com'
result = browser.get(url)

1 Ответ

1 голос
/ 16 июня 2019

Я не думаю, что это возможно с одним только селеном.

Что вы можете сделать, это заполнить форму / нажать на кнопку отправки примерно так:

input_a = driver.find_element_by_id("input_a")
input_b = driver.find_element_by_id("input_b")

input_a.send_keys("some data")
input_b.send_keys("some data")

driver.find_element_by_name("submit").click()

Если вы действительно хотите создать POST-запрос самостоятельно, вам следует заглянуть в пакет https://github.com/cryzed/Selenium-Requests, который позволит вам создавать POST-запросы точно так же, как пакет Requests, но с Selenium.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...