selenium 之 控制打开的浏览器

使用背景:
当我们需要在打开的浏览器中进行自动化操作时需要用到此方法。

1、为了防止污染别的环境(同一个网站多个账号爬取的情况),最好对浏览器使用新的端口创建debug副本。

具体操作如下
(1)右键浏览器创建副本(或者直接复制)
(2)在新生成的快捷方式上右键–属性,修改其中的目标栏
selenium 之 控制打开的浏览器_第1张图片
增加如下内容:

--remote-debugging-port=9233 --user-data-dir="C:\Users\admin\Desktop\mywork"

请注意是增加,然后应用确定,此时打开新生成的浏览器感觉会像是全新的浏览器,可以在其中登录账号等。同时会在 “C:\Users\admin\Desktop\mywork” 生成一个用户文件保存你在此浏览器中的账号记录等。

端口号可以随意设置,只要不和系统应用端口冲突即可。(端口号下面要使用的)

2、编写代码

这一步和其他方法的主要区别是添加了指定监听的浏览器端口,这样就可以在打开的浏览器中执行自己想运行的程序了。

示例代码如下

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.action_chains import ActionChains

chrome_options = Options()
#chrome_options.add_argument('headless')
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
chrome_driver = "chromedriver.exe" # 指定自己的chromedriver路径
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)
print(driver.title)
#print(driver.get_cookies())

driver.get('http://www.baidu.com')

(这里不同版本的selenium 调用的方式会有一丢丢出入,可能需要大家翻一下源码看看怎么初始化了)
3、测试

这里先打开浏览器,任意打开一个网址。然后执行代码,会先输出开始的网址的title,然后切换页面至百度的首页。

ok,今天就到这里了 _

你可能感兴趣的:(python爬虫,selenium,python,chrome)