阅读量: 76
基于selenium操作Web界面
一、目的
- 通常情况下,网络安全相关领域,更多是偏重于协议和通信
- 但是,如果协议通信过程被加密或者无法了解其协议构成,则无法直接通过协议经i选哪个处理。此时,可以考录UI操作,进而实现相对应的部分功能
二、原理
- 运行被操作的程序,使其界面出现
- 找到被操作的界面元素
- 方法一:基于元素的特征进行识别
- 方法二:图像识别和对比,opencv
- 对其进行操作:输入、单击、右键等
- 对操作后的结果进行验证,确认操作是成功的
- selenium Webdriver的通信机制:python模拟客户端发送HTTP请求给Webdriver,Webdriver再次驱动浏览器执行
三、实现
from selenium import webdriver
# 如果要操作Windows,则使用库uiautomation,如果要处理移动端,appium
# 第一步:先实例化webdriver对象,用于初始化浏览器操作
# 默认情况下,chromedriver.exe要放在PATH环境变量的某个目录中,否则需要在参数executable_path中指定
driver = webdriver.Chrome()
# 访问目标网络的页面地址
driver.get('http://xxxx.com/')
# 第二部:利用DOM的识别机制,取识别和操作界面元素
dricer.find_element_by_id('username').send_keys('admin')
dricer.find_element_by_id('password').send_keys('admin123')
dricer.find_element_by_xpath("//input[@id='verifycode']").send_keys('0000')
dricer.find_element_by_xpath("/html/body/div[4]/div/form/div[6]/button").click()