通过seleium启动的浏览器,不携带cookies值,对于使用已经登录的网站很不方便,这里介绍一种先通过cmd命令启动浏览器,然后通过python文件获取cmd打开的浏览器进行操作。
1 经过多方测试,选择chrome浏览器以及对应的驱动chromedriver是最好的。
chromediver.exe?下载地址,要选择与chrome浏览器版本一致版本的驱动下载,然后放到chrome执行目录的同级目录,然后把chromedriver.exe的地址添加到环境变量path中
2 在cmd中启动chrome浏览器
chrome.exe --remote-debugging-port=9225 --user-data-dir="G:\python\chrome_temp1"
--user-data-dir的地址是存放通过cmd命令启动的浏览器而产生的用户数据的,因此可以通过修改这个地方的地址,来用同一个chrome浏览器,登录统一网站的不同账号
3 python 文件如下
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
import time
import json
import os
import requests
import random
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9225") #获取cmd命令打开的浏览器,端口要与通过cmd打开的浏览器一致
s =Service(r"C:\Users\LENOVO\AppData\Local\Google\Chrome\Application\chromedriver.exe") #chromedriver.exe的存放地址
driver = webdriver.Chrome(service=s,options=chrome_options)
#driver.get('https://www.baidu.com')
#driver.close()
print('打印浏览器窗口标题')
print(driver.title)
urlinfo="https://baidu.com"
driver.get(urlinfo)
|