Как сделать POST на веб-странице для входа на сайт с использованием запросов на селен с Python - PullRequest
0 голосов
/ 15 мая 2019

Мне нужно войти на сайт (для примера я буду использовать facebook.com).Я могу управлять процессом входа в систему, используя селен, но мне нужно сделать это с помощью POST.Я пытался использовать запросы, но не смог передать информацию, необходимую веб-драйверу selenium, чтобы войти на сайт как зарегистрированный пользователь.Я обнаружил, что в Интернете существует библиотека, которая объединяет селен и запрашивает https://pypi.org/project/selenium-requests/, но проблема в том, что нет документации, и я заблокирован в той же истории.

С селеном-requests

webdriver = Chrome()
url = "https://www.facebook.com"
webdriver.get(url)

params = {
    'email': 'my_email',
    'pass': 'my_password'
    }
resp = webdriver.request('POST','https://www.facebook.com/login/device-based/regular/login/?login_attempt=1&lwv=110', params) 

webdriver.get(url) 
# I hoped that the new page open was the one with me logged in but it did not works

С Selenium и запросами прохождения куки

driver = webdriver.Chrome()
webdriver = Chrome()
url = "https://www.facebook.com"
driver.get(url)

#storing the cookies generated by the browser
request_cookies_browser = driver.get_cookies()

#making a persistent connection using the requests library
params = {
    'email': 'my_email',
    'pass': 'my_password'
    }

s = requests.Session()
#passing the cookies generated from the browser to the session
c = [s.cookies.set(c['name'], c['value']) for c in request_cookies_browser]
resp = s.post('https://www.facebook.com/login/device-based/regular/login/?login_attempt=1&lwv=110', params) #I get a 200 status_code
#passing the cookie of the response to the browser
dict_resp_cookies = resp.cookies.get_dict()
response_cookies_browser = [{'name':name, 'value':value} for name, value in dict_resp_cookies.items()]
c = [driver.add_cookie(c) for c in response_cookies_browser]
driver.get(url)

В обоих случаях, если в конце я печатаю куки, кажется, что что-то изменилось с самого начала, ноостается страница с формой входа.

Это коды, которые я пробовал, я приложил обе попытки, но достаточно найти решение для одной из этих двух.Кто-то может помочь мне и узнать, что я должен сделать или изменить, чтобы открыть страницу, на которой я вошел в систему?

Заранее спасибо!

...