前言
第一次写博客,请各位大佬多多指正
之前我写了一个某社交平台的一个小爬虫,奈何要登陆账号 使用request登陆太麻烦了,于是我就使用了selenium 反正登陆的账号也不多,然后一开始我是使用的Chrome浏览器,很容易 没有什么障碍 各种设置 更换ua 设置全屏都很容易
但是使用Chrome浏览器有个致命的问题,我这个小爬虫是发给其他人用的,想要在其他计算机上运行,我就要把运行环境搭配好 于是我直接把Chrome浏览器给打包进去了,当然 可以正常使用 但是300多m的大小造成了很多麻烦,于是我就把注意打到了 win10自带的Edge浏览器上 至于为什么不用ie 相信大家都懂
正文
刚开始我以为Edge和Chrome一样,直接这样就可以了
from selenium import webdriver
option = webdriver.EdgeOptions()
user_anent = ''
option.add_argument(f'user-agent="{user_agent}"')
driver = webdriver.Edge(options=option)
谁知道直接就异常了,仔细一看是webdriver.Edge()没有options这个参数,当时我就懵逼了 然后苦苦的找了好久资料也没解决办法,就在我快要放弃的时候 我忽然想到 国内没有可以去国外找啊,然后我就在国外的某论坛找到了这个
意思是如下
selenium.webdriver不提供EdgeOptions的类. selenium.webdriver仅向我们提供ChromeOptions,FirefoxOptions和Ie. EdgeOptions在单独的包装中 msedge.selenium_tools
大概意思是
selenium.webdriver这个包没有为Edge提供设置配置的类,如果想给Edge设置类 要用from msedge.selenium_tools import EdgeOptions, Edge来导入 EdgeOptions,和Edge
看到这里 解决这个问题就很容易了只要把导入模块的
from selenium.webdriver import Edge
换成
from msedge.selenium_tools import EdgeOptions, Edge
就能解决问题了
当然 msedge.selenium_tools需要用pip下载
pip installer msedge.selenium_tools