在做 bilibili 网站登录的时候,发现
# 初始化
def init():
# 定义为全局变量,方便其他模块使用
global url, browser, username, password, wait
# 登录界面的url
url = 'https://passport.bilibili.com/login'
# 实例化一个chrome浏览器
browser = webdriver.Chrome()
# 用户名
username = '***********'
# 密码
password = '***********'
# 设置等待超时
wait = WebDriverWait(browser, 20)
# 登录
def login():
# 打开登录页面
browser.get(url)
# 获取用户名输入框
user = wait.until(EC.presence_of_element_located((By.ID, 'login-username')))
# 获取密码输入框
passwd = wait.until(EC.presence_of_element_located((By.ID, 'login-passwd')))
# 输入用户名
user.send_keys(username)
# 输入密码
passwd.send_keys(password)
其中
# 打开登录页面
browser.get(url) 会报错
出现:
Message: unknown error: Runtime.executionContextCreated has invalid 'context
在浏览器地址栏,出现data:;
是因为,chromedriver 与 chrome 版本不一直导致的。
我的chrome 版本是 版本 75.0.3770.100
那么对应的chromedriver 则是 75.xxxxx,版本。
需要下载对应的 chromedriver 在安装。即可解决
http://chromedriver.storage.googleapis.com/index.html
另外,如果出现:
Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?
这个是没有安装,lxml 包。安装后,就可以。
更多内容,关注我的个人博客: www.qq249191508.com