如何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')
#输出内容:成功回车

selenium,web自动化测试的更多相关文章

  1. python selenium web自动化测试完整项目实例

    问题: 好多想不到的地方,中间经历了一次重构,好蛋疼: xpath定位使用的不够熟练,好多定位问题,只能靠强制等待解决: 存在功能重复的方法,因为xpath定位不同,只能分开写,有时间可以继续优化: ...

  2. Python+Selenium - Web自动化测试(一):环境搭建

    清单列表: Python 3x Selenium Chrome Pycharm 一.Python的安装: Python官网下载地址:https://www.python.org/ 1.  进入官网地址 ...

  3. Python+Selenium - Web自动化测试(二):元素定位

    前言 前面已经把环境搭建好了,现在开始使用 Selenium 中的 Webdriver 框架编写自动化代码脚本,我们常见的在浏览器中的操作都会有相对应的类方法,这些方法需要定位才能操作元素,不同网页的 ...

  4. Java&Selenium Web自动化测试框架理念

    一.自动化测试含义 在自动化测试领域内流传着一个说法:单元测试才是自动化测试的核心,在自动化测试里,无论框架何等完美都不可能脱离单元测试,单元测试将会是自动化测试里最小的单位,把它看作单位一,若干个单 ...

  5. Web自动化测试学习方向(Selenium)

    目前越来越多的人想学自动化测试,认为自动化测试好牛逼.经常在测试交流群里看见有HR发招聘广告说:招初级(功能测试),招中级(性能测试),招高级(自动化测试)...... 我不去讨论他们这个初中高级的说 ...

  6. Web自动化测试 Selenium 1/3

    Selenium 名字的来源 在这里,我还想说一下关于 Selenium 名字的来源,很有意思的 : > : Selenium 的中文名为 “ 硒 ” ,是一种化学元素的名字,它 对 汞 ( M ...

  7. TestNG测试框架在基于Selenium进行的web自动化测试中的应用

    转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ TestNG+Selenium+Ant TestNG这个测试框架可以很好的和基于Selenium的 ...

  8. web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架   by:授客 QQ:1033553122     博客:http://blog.sina.com.cn/ishou ...

  9. 开源Web自动化测试工具Selenium IDE

    Selenium IDE(也有简写SIDE的)是一款开源的Web自动化测试工具,它实现了测试用例的录制与回放. Selenium IDE目前版本为 3.6 系列,支持跨浏览器运行,所以IDE的UI从原 ...

  10. Node.js结合Selenium做Web自动化测试

    发现腾讯课堂上有个node.js结合Selenium做Web自动化测试的教学视频, 听来感觉不错,一来老师讲的还不错,二来node.js这门语言会越来越热,学会总没什么坏处,三来发现CukeTest这 ...

随机推荐

  1. HarmonyOS数据防泄漏服务(DLP)开发实战

    系统级数据防护的核心能力解析 在企业级文档管理.教育课件分发.金融合同处理等场景中,数据泄露风险贯穿文件生命周期.HarmonyOS提供的数据防泄漏服务(DLP),通过沙箱隔离.端云协同认证.细粒度权 ...

  2. vivo 互联网研发效能关键技术与实践

    作者: vivo 互联网研发效能团队 Yang Peng.Huang Fengjin 本文为2024年 vivo 开发者大会互联网技术专场分享内容之一,在公众号对话框回复[2024VDC]获取 202 ...

  3. WPF透明框设置Demo

    <Window x:Class="GuiDB.EBMultiEditTextWin" xmlns="http://schemas.microsoft.com/win ...

  4. django-channels如何向组内特定成员推送信息的解决方案

    测试版本: python 3.8 djnago 3.2 channels 3.0 需求 向channels的小组内某(些)个特定成员推送信息,而不是向组内所有人员群发 实现原理 websocket 三 ...

  5. Vue3源码解析--收集的依赖是什么?怎么收集的?什么时候收集的?

    从Vue开始较大范围在前端应用开始,关于Vue一些基础知识的讨论和面试问题就在开发圈子里基本上就跟前几年的股票和基金一样,楼下摆摊卖酱香饼的阿姨都能说上几句那种.找过前端开发工作或者正在找开发工作的前 ...

  6. qt中常用lambda表达式

    qt中lambda表达式 什么是lambda 个人理解:没有函数名的函数 qt中使用基础 备注:都是在qt5中做的使用,我的qt版本是qt5.11.3 pro文件中 config+=c++11 常见的 ...

  7. 简述odoo18的一个请求执行流程

    以下是Odoo中一个完整请求走向的每一步所涉及的技术细节: 用户发起请求: 技术:HTTP/HTTPS协议,通过Web浏览器或其他HTTP客户端库. 到达WSGI服务器: 技术:通常使用Gunicor ...

  8. odoo里面的动作

    来源:Odoo中的五种action都是继承自ir.actions.actions模型实现的子类,共有五种,下面会一个一个给出具体例子 1.链接Action(ir.actions.act_url):ta ...

  9. HashMap知识点梳理、常见面试题和源码分析

      本博客是包括HashMap在内的相关知识点博文链接的入口,从介绍哈希表的基本概念开始,到HashMap的应用.实现原理和常见面试题,包括分析其源码,还包括相关知识点的延伸,例如HashSet等. ...

  10. Ubuntu 通过 docker 部署禅道

    # 拉取镜像 docker pull easysoft/zentao:latest # 运行容器(简单配置) docker run --name zentao -p 8080:80 -e MYSQL_ ...