selenium,web自动化测试
如何delphi7中添加TClientSocket 组件
在Component->instal package
选择ADD添加borland/delphi/bin/dclsockets70.bpl
确认重新打开,就成功添加了TClientSocket
然后TClientSocket和TServerSocket控件就会出现在Internet页上了
在线程中动态生成的ClientSocket不触发OnConnect和OnRead事件,怎么办?
__fastcall TSubTh::TSubTh(bool CreateSuspended)
: TThread(CreateSuspended)
{
//CS在头文件中作为类的全局变量声明
CS = new TClientSocket(0);
CS->ClientType = ctNonBlocking;
CS->OnRead = CSRead;
CS->OnConnect = CSConnect;
CS->Address = "127.0.0.1";
CS->Port = 2020;
}
https://www.cnblogs.com/xiao-xue-di/p/11531905.html
import ddddocr #pip3 install ddddocr
python package Index python库查询
www.pypi.org
二、非测试破解验证码
requests
selenimu:简单图形、滑块、cookies、option
appium:手机短信
ocr:光学字符识别
----ddddocr
----tesseract
----tesserocr和pytesseract(封装了上面的
----百度OCR接口
三、selenium实现简单
核心API:
----webdriver对象方法和属性
----webelement对象方法和属性
ddddocr库的api
=========================
# 1 从selenium库导入webdriver模块
from selenium import webdriver
# 2 打开浏览器
driver = webdriver.Chrome() #实例一个浏览器,
# 3 在打开的浏览器输入网址
driver.get('http://***')
# 4 输入用户名 send_keys
# 4.1 定位元素 css xpath chromedevtools
# driver.find_element(定位策略,定位名)
driver.find_element('id','namename').send_keys('bxf')
#driver.send_keys()
# 5 输入密码 send_keys
driver.find_element('id','password').send_keys('123')
# 6 验证码
ele_codepic = driver.find_element('css selector','img')
#ele_codepic.screenshot_as_png #源代码返回betys
#二进制写入图片
with open('codepic.png','wb') as f:
f.writ(ele_codepic.screenshot_as_png)
#分析图片数据得到其文本
# import ddddocr
ocr = ddddocr.DdddOcr()
code_text = ocr.classification(ele_codepic.screenshot_as_png)
#7 输入验证码
driver.find_element('id','code').send_keys(code_text)
# 8 点击等录
driver.find_element('id','btn').click()
1.输入内容
- send_keys('valve'):输入内容valve
#定位输入框
input_box = browser.find_element_by_id('kw')
try:
#输入内容:selenium
input_box.send_keys('selenium')
print('搜索关键词:selenium')
except Exception as e:
print('fail')
#输出内容:搜索关键词:selenium
2.点击按钮
- click():点击按钮
#定位搜索按钮
button = browser.find_element_by_id('su')
try:
#点击搜索按钮
button.click()
print('成功搜索')
except Exception as e:
print('fail搜索')
#输出内容:成功搜索
3.清空输入框
- clear():清空输入框
#clear():清空输入框
try:
input_box.clear()
print('成功清空输入框')
except Exception as e:
print('fail清空输入框')
#输出内容:成功清空输入框
4.输入内容、点击按钮、清空输入完整实例
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.maximize_window() #设置浏览器大小:全屏
browser.get('https://www.baidu.com')
#定位输入框
input_box = browser.find_element_by_id('kw')
try:
#输入内容:selenium
input_box.send_keys('selenium')
print('搜索关键词:selenium')
except Exception as e:
print('fail')
#输出内容:搜索关键词:selenium
#定位搜索按钮
button = browser.find_element_by_id('su')
try:
#点击搜索按钮
button.click()
print('成功搜索')
except Exception as e:
print('fail搜索')
#输出内容:成功搜索
#clear():清空输入框
try:
input_box.clear()
print('成功清空输入框')
except Exception as e:
print('fail清空输入框')
#输出内容:成功清空输入框
5.submit():模拟‘回车’操作
- submit():通常应用于提交表单;例如:搜索框输入内容后的回车操作。
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.maximize_window() #设置浏览器大小:全屏
browser.get('https://www.baidu.com')
#定位输入框
input_box = browser.find_element_by_id('kw')
#输入关键词:selenium
input_box.send_keys('selenium')
#模拟回车操作
try:
input_box.submit()
print('成功回车')
except Exception as e:
print('fail')
#输出内容:成功回车