我想使用Splinter登录https网页。但是,登录时似乎没有设置cookie。这是我的代码:
from splinter import Browser
import time
username = 'blabla'
password = 'blabla'
with Browser('chrome') as browser:
browser.visit("https://the.login.page")
browser.fill('p_username', username)
browser.fill('p_password', password)
browser.find_by_css('.button').first.click()
time.sleep(2)
browser.visit('https://other.page.after.login')
我到了另一页,但我没有登录。
browser.cookies.all()
不为空,并且正确包含 SESSIONID 值。但是...... document.cookie
(在浏览器控制台中)为空。我做错了吗?
我也尝试使用selenium
,我得到了相同的结果:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
username = 'blabla'
password = 'blabla'
browser = webdriver.Chrome()
browser.get('https://the.login.page')
time.sleep(2)
username_field = browser.find_element_by_name("p_username")
password_field = browser.find_element_by_name("p_password")
username_field.send_keys(username)
password_field.send_keys(password)
login_attempt = browser.find_element_by_xpath("//*[@type='submit']")
login_attempt.submit()
time.sleep(2)
browser.get('https://other.page.after.login')