起因
今天想写个自动更新chrome浏览器某插件里的文件的脚本,每次开机点来点去真的很烦。之前实习的时候的经验,知道selenium这个可以做,就尝试弄了一下。在这记录一下碰到的小麻烦。
安装
安装方面没什么问题,直接pip一下。selenium是直接可以开firefox的,我今天要弄chrome,那就必须要去下载chrome dirver,下载链接请戳这里,需要科学上网。
w=webdriver.Chrome(executable_path="C:\\Users\\chromedriver.exe")
如上这样调用,很顺利的用selenium开启chrome,但是问题随之而来。它打开的是一个完全没有用户信息的chrome。没有书签,没有插件!
加载所有chrome配置的启动方法
然后我就开始百度and谷歌,多次尝试后,搞定了。
首先,在chrome中输入chrome://version/,查看个人资料路径,注意把最后的Default去掉(坑死我了,一开始找的教程没说要去)
然后按下面的方式设置
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = webdriver.ChromeOptions()
options.add_argument("user-data-dir=C:\\Path")
#Path to your chrome profile
w=webdriver.Chrome(executable_path="C:\\Users\\chromedriver.exe",chrome_options=options)
这样打开chrome就和你手动打开的一模一样了。接下来就可以做事情了。
注意
如果你加载了所有chrome配置,确保你没有打开chrome再运行程序,不然会导致程序无法识别哪个它自己打开的,无法运行下去。
另外,用selenium时候多用time.sleep(n),有时候网页没有加载出来,就无法定位了。