做WEB自动化测试时,绕不开登录操作,但是如果只是想测试登录外的其它操作,或者对其它功能的自动化用例进行调试,不想每次调试,都要从登录重新来一遍,那么这种方法将非常合适。
Windows环境中需要将chrome浏览器程序添加到环境变量 PATH 中。
查看chrome浏览器启动程序所在的目录
右击浏览器图标,选择“属性”
将“起始位置”中的内容复制出来。
进入到“系统属性”-->“环境变量”-->“系统变量”,打开“Path”设置,将上一步复制的目录粘贴进去,一路确定即可。
chromedriver是使用代码控制浏览器的驱动程序,可从淘宝镜像网站下载:
http://npm.taobao.org/mirrors/chromedriver/ 需要选择与浏览器版本一致的驱动。
将下载下来的 chromedriver.exe 放到 python的安装根目录,方便python程序在执行时找到它。
在命令行中启动浏览器,并指定运行的端口号及存放运行数据的目录,避免影响到原有浏览器相关数据。
打开命令行,输入如下内容:
chrome.exe --remote-debugging-port=12306 --user-data-dir="E:\chrome_temp_dir"
参数说明:
--remote-debugging-port 指定要运行的端口号,只要没有被占用就行,可任意指定,原则上应该在 1024~65535之间
--user-data-dir 为避免影响到原有浏览器存储的数据,这里需要指定一个运行数据存放的目录,相当于将两者物理隔离。
回车后浏览器被启动
进入到CSDN并登录
登录后进入到首页
# -*-coding:utf8 -*-
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
# 将脚本运行在指定端口号的浏览器上
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:12306")
driver = webdriver.Chrome(options=chrome_options)
print(driver.title)
# 跳转到消息管理页面
ele = driver.find_elements_by_xpath('//a[@id="toolbar-remind"]/span')
ele[0].click()
执行脚本后,该浏览器已由首页跳转到了消息管理页面