声明
作为一个菜鸟,每次遇到问题上网搜索都有一堆的答案,有的答案确实写得很好,每次都让我这个菜鸟二次查询几次才能找到答案…
需求
本来在网上寻找的是利用selenium去控制打开的谷歌浏览器,但是衍生出另外一个问题就是,这个希望这个浏览器以后还可以继续用来爬取,或者说有一个专门的浏览器是被用来selenium控制爬取的,出于这样一个目的,写了这份文章。
实现
方法1:首先来到安装 chrome浏览器 的文件夹下,例:C:\Program Files (x86)\Google\Chrome\Application。
在上面的路径内键入“cmd”,意思是要在命令窗口下进入到这个文件夹内:
然后再命令窗口下输入以下命令符:
chrome.exe --remote-debugging-port=6001 --user-data-dir=“D:\selenium\test”
上面的端口“6001”,以及这个路径““D:\selenium\test” 的名称和位置都是可以自定义的。一定要设定一个独立文件夹哈,不要污染原配置文件了
理论上,此时会跳出一个谷歌浏览器,这个就是你要控制的浏览器了
接着你就可以用以下代码接管你刚刚用命令符打开的浏览器了
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_experimental_option("debuggerAddress", "127.0.0.1:6001")
chrome_driver = "D:/tool/driver/chromedriver.exe" #这个路径是你自己的chromdriver.exe的路径,而且要和你的谷歌浏览器适配版本号,这个你百度以下“chromedriver.exe下载”就有很多教程的啦,这里就不赘述了....
driver = webdriver.Chrome(chrome_driver, options=options)
driver.get('https://www.baidu.com/')
print(driver.title)
OUT:
百度一下,你就知道
方法2:
其实跟上面的结果是一样的,只是它不是用命令窗口的形式创建的,首先你先去到你谷歌安装的目录下,找到chrome.exe,
然后右键发送一个新的快捷方式到桌面,然后右键属性,在
这里最后加上
空格--remote-debugging-port=6001 --user-data-dir="D:\auto_textchrome" # 这个位置和路径名称也是随便自己定义的
然后点击应用,确定,此时你再双击桌面你发送的快捷方式
就会出现一个美妙的新的谷歌浏览器
接着继续用上面的代码控制:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_experimental_option("debuggerAddress", "127.0.0.1:6001")
chrome_driver = "D:/tool/driver/chromedriver.exe" #这个路径是你自己的chromdriver.exe的路径,而且要和你的谷歌浏览器适配版本号,这个你百度以下“chromedriver.exe下载”就有很多教程的啦,这里就不赘述了....
driver = webdriver.Chrome(chrome_driver, options=options)
driver.get('https://www.baidu.com/')
print(driver.title)
OUT:
百度一下,你就知道
其实方法1和方法2都是可以实现一次性的控制浏览器,可是我的需求是想要一个专门的谷歌浏览器用来控制,所以有了下面的第三个步骤,也很简单。
其实你经过方法1或者方法2后,其实桌面会再生成一个谷歌浏览器的快捷方式:
我就拿我方法2生成的谷歌浏览器吧,额…其实不用这么麻烦了,直接用你发送到桌面的那个浏览器就好了,你每次打开它,都是可以用上面的代码去控制了,你只要把它改成自己喜欢的名字区分以下就好了…
但是如果你是用方法1生成的谷歌浏览器快捷方式,那么你只要桌面上新的谷歌浏览器快捷方式右键属性目标后面,(我不知道你们的会不会在桌面生成新的图标,我的会哈,如果没有就用方法2吧)
用方法2,加入代码:
空格--remote-debugging-port=6001 --user-data-dir="D:\auto_textchrome"
需要注意的点是,后面的路径(“D:\auto_textchrome”),一定要和你用方法1命令符后面的路径一致哈,切记切记!!!
比如你用:
方法1:
chrome.exe --remote-debugging-port=6001 --user-data-dir=“D:\abc\ab”
生成的快捷方式,那么
方法2:
空格--remote-debugging-port=6001 --user-data-dir=“D:\abc\ab”
这样你桌面新生成的谷歌快捷浏览器也会是定制化的啦,专门被用selenium控制的浏览器,平时只要打开就可以控制了。
OVER~