不是网站建设必须经历的过程,网站首页flash模板,辽源网站建设公司,wordpress sql root文章目录 前言一、什么时候需要用Python控制浏览器#xff1f;二、下载Chrome浏览器驱动文件1. 安装Chrome浏览器并查看版本2. 下载浏览器驱动文件3. 解压到python编译器目录#xff08;python.exe所在目录#xff09; 三、Python控制Chrome浏览器#xff08;附源代码… 文章目录 前言一、什么时候需要用Python控制浏览器二、下载Chrome浏览器驱动文件1. 安装Chrome浏览器并查看版本2. 下载浏览器驱动文件3. 解压到python编译器目录python.exe所在目录 三、Python控制Chrome浏览器附源代码1. 操作分两步2. Python控制Chrome浏览器完整源代码 四、Chrome浏览器Cookie在哪里避坑指南总结 前言
本文将为您展示如何通过Python控制浏览器实现网页的打开、页面的切换和关闭的基本操作另外对于高阶用户知道Chrome浏览器Cookie在哪里可以方便方位Cookie从而实现带登录的更多操作。当然利用本文方法你也可以提前登录好这样就可以直接操作而免去繁琐的登录环节。按步骤操作小白也可以实现功能哦
一、什么时候需要用Python控制浏览器
有些时候我们需要操作浏览器完成访问比如通过网页操作同花顺模拟炒股又比如做一些网页端的测试等。总之每次都要点击很多次鼠标太麻烦了。那么有没有一种可以方法可以通过程序控制操作呢。当然有些人已经想到了模拟键盘鼠标的键盘精灵类软件。这些当然可以。但我们今天要讲一种更为直接的办法。
二、下载Chrome浏览器驱动文件
1. 安装Chrome浏览器并查看版本
检查自己的Chrome浏览器版本后面下载驱动要看这个否则不匹配也用不了。
2. 下载浏览器驱动文件
然后到下面的网页里去找对应的版本主要的版本号对应上即可 https://registry.npmmirror.com/binary.html?pathchromedriver/ 根据操作系统选择需要下载的文件Windows系统下载这个文件即可。
3. 解压到python编译器目录python.exe所在目录
将解压出来的chromedriver.exe放到python编译器目录。如果使用Python虚拟环境一样放到虚拟环境目录下。
三、Python控制Chrome浏览器附源代码
1. 操作分两步
1在CMD命令提示符中输入具体路径看你的浏览器安装位置
cd C:\Program Files\Google\Chrome\Application\
chrome.exe --remote-debugging-port9200 --user-data-dirD:\tempfiles2在python中输入后面的端口号和前面的要保持一致多个浏览器就自己匹配好就行
option.add_experimental_option(debuggerAddress, 127.0.0.1:9200)通过以上2个步骤的配合即可实现使用selenium对当前打开的chrome界面进行接管。
2. Python控制Chrome浏览器完整源代码
这里使用selenium 来控制浏览器为方便操作将其打包成类。并且使用模糊搜索可通过窗口titile操作页面。个人独创这里加鸡腿啊
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
import time,os
import datetimedef fuzzy_find(x,_dict):# 对x通过键名模糊查找后返回键名键值for key,value in _dict.items(): if x in key:return key,valuereturn x,None# 定义一个字典设置网页标题和url后面操作会使用到
url_dict {通达信问小达:https://wenda.tdx.com.cn/site/wenda/index.html,雪球:https://xueqiu.com/,百度:http://www.baidu.com,}class Chrome_browser():def __init__(self):print(start Chrome_browser)options Options()options.add_experimental_option(debuggerAddress, 127.0.0.1:9200)self.browser webdriver.Chrome(optionsoptions)self.browser.implicitly_wait(8) # 设置隐式时间等待self._max()def _max(self):self.browser.maximize_window() # 最大化浏览器def _get_tab_dict(self):tab_dict {}handles self.browser.window_handlesfor handle in handles: # 切换窗口# print (switch to second window, handle)# self.browser.close() # 关闭第一个窗口self.browser.switch_to.window(handle) # 切换到第二个窗口# print(self.browser.title)title self.browser.title.replace(u\xa0, ).split(-)[0] # 剔除标题中的-字符tab_dict[title] handlereturn tab_dictdef open_tab(self,url_dicturl_dict):for k,v in url_dict.items():print(进入k,datetime.datetime.now())self.browser.switch_to.new_window(tab)self.browser.get(v)self.browser.refresh()time.sleep(2)def _switch(self, name, act):# 包含同时关闭的功能tab_dict self._get_tab_dict()print(tab_dict,tab_dict)if name ! :key,value fuzzy_find(name,tab_dict)# print(key,value,key,value)if value ! None:self.browser.switch_to.window(value)if act close:self.browser.close()return Falsereturn Trueelse:return Falsedef _close(self):# 关闭所有窗口关闭单个由switch完成。tab_dict self._get_tab_dict()for k,v in tab_dict.items(): # 切换窗口self.browser.switch_to.window(v)self.browser.close()if __name____main__:cb Chrome_browser()cb.open_tab()cb._switch(name通达信,act) # 切换到title为name的窗口actclose则切换完同时关闭。cb._close() # 关闭所有窗口关闭单个由switch完成。四、Chrome浏览器Cookie在哪里避坑指南
以上操作可以提前登录好并保存密码即可实现自动登录。
但如果需要读取Cookie完成更多高级操作请注意以下路径。网上之前的文章很多但好些拿来不能用关键是Cookie文件路径变了 96版本以前./AppData\Local\Google\Chrome\User Data\default\Cookies 96版本之后./AppData/Local/Google/Chrome/User Data/Default/Network/Cookies
完整路径如Administrator替换为自己的用户名 C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Network\Cookies 总结
关于Python控制浏览器完成各种操作的教程网上可以说很多笔者也是各种学习但经过测试使用还是对小白不友好。各种填坑在所难免。为了方便操作避免踩坑著此文以方便各位。 各种测试一个周末又报废了写作不易有帮助的话留个言也提高以下活跃度。