背景:部分自动化的操作时,需要提前进行登录等操作。由于登录操作需要一些特殊操作,比如扫码、验证码等操作无法很好使用自动化脚本完成。所以衍生出以下思路:
1. 打开浏览器
2. 执行登录操作
3. 运行脚本
系统:Mac OS
操作如下:
1. 添加环境变量
export PATH="/Applications/Google Chrome.app/Contents/MacOS:$PATH"
2. 激活环境
把上面的这一句添加到bashrc中,我的是zshrc,然后激活环境:
source ~/.zshrc
3.打开已经配置好的浏览器
Google\ Chrome --remote-debugging-port=9222 --user-data-dir="~/ChromeProfile"
原理:
通过后台打开google浏览器的同时,打开了9222端口。
selenium调用的部分代码如下:
class get_symbol():
def __init__(self):
options = webdriver.ChromeOptions()
options.debugger_address = "127.0.0.1:9222"
self.driver = webdriver.Chrome(options=options)
原理:通过webdriver的debugger_address方法,调用9222端口来访问已经打开的浏览器。