当前项目采用的是统一账号,使用扫码登录,而现在的问题是:没有账号密码、登陆后没有保存cookies信息,导致每次使用selenium都会跳转到登录页发呆,于是我找了一下,发现一种能够先打开一个浏览器,使用selenium时可以直接在这个已打开的浏览器中进行操作的方法。
首先将chrome文件的路径添加到系统变量的path中,然后在cmd中输入:chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\selenium_ui_auto\chrome_temp"
其中 “--remote-debugging-port=”自定义端口、“--user-data-dir=” 设置配置信息路径;
python中的代码:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_experimental_option("debuggerAddress","127.0.0.1:9222") chrome_driver = r'C:\Program Files\Google\Chrome\Application\chromedriver.exe' #chrome驱动路径 driver = webdriver.Chrome(chrome_driver, options=chrome_options)
后续使用driver进行定位操作即可。
而每次使用cmd命令也会很麻烦,所以可以创建一个def去执行cmd命令
#-*- coding:utf-8 -*- import os def os_cmd(cmd): os.system(cmd) if __name__ == '__main__': a = 'chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\selenium_ui_auto\chrome_temp"' os_cmd(a)
此处可能会遇见乱码问题,需要去设置的编码中将编码格式设置为GBK,添加环境变量后需要重新启动pycharm和cmd