selenium,web自动化测试

如何delphi7中添加TClientSocket 组件

 

 

在Component->instal package
选择ADD添加borland/delphi/bin/dclsockets70.bpl
确认重新打开,就成功添加了TClientSocket   

然后TClientSocket和TServerSocket控件就会出现在Internet页上了

 

在线程中动态生成的ClientSocket不触发OnConnect和OnRead事件,怎么办?
在线程的构造函数中生成ClientSocket:
__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')
#输出内容:成功回车

 

posted @ 2023-07-28 10:14  古锁阳关  阅读(52)  评论(0编辑  收藏  举报