当前位置: 首页 > news >正文

网站接单做项目大众网潍坊疫情

网站接单做项目,大众网潍坊疫情,淘宝式网站建设,电子商务网站建设 上海Selenium操作Web页面 Why? 通常情况下,网络安全相关领域,更多是偏重于协议和通信。但是,如果协议通信过程被加密或者无法了解其协议构成,是无法直接通过协议进行处理。此时,可以考虑模拟UI操作,进而实现相…

Selenium操作Web页面

Why?

  1. 通常情况下,网络安全相关领域,更多是偏重于协议和通信。
  2. 但是,如果协议通信过程被加密或者无法了解其协议构成,是无法直接通过协议进行处理。此时,可以考虑模拟UI操作,进而实现相对应的部分功能。

原理

  1. 运行被操作的程序,使其界面出现
  2. 找到被操作的界面元素
    1. 基于元素的特征进行识别
    2. 图像识别和对比
    3. opencv
  3. 对其进行操作:输入、单击、右键等
  4. 对操作后的结果进行验证,确认操作是成功的
  5. Selenium Webdriver的通信机制:Python模拟客户端发送HTTP请求给WebDriver,WebDriver再驱动浏览器去执行

基于Selenium实现dvwa_ui

问题:

  1. 运行代码后打开网页闪退
  2. 解决方法:
    1. selenium版本回退到4.1.1
pip uninstall selenium			# 卸载已安装版本
pip install selenium==4.1.1		# 安装指定版本

tips:

  1. 如果要操作windows元素,则可以使用库uiautomation
  2. 如果要处理移动端,可以使用库Appium-Python-Client
  3. scapy,比socket更加底层的框架
from selenium import webdriver
import time
# 第一步,先实例化webdriver对象,用于初始化浏览器操作
# 默认情况下,建议将chromedriver.exe等放在PATH环境变量的某个目录中,否则需要在参数中指定execute_path='C:/xxx/xxx.exe'
# driver = webdriver.Chrome(executable_path='C:/chromedriver.exe')
driver = webdriver.Chrome()
# 使用火狐
# driver=webdriver.Firefox()
# 最大化浏览器窗口
driver.maximize_window()
time.sleep(2)
# 打印网页标题
print(driver.title)
# 打印网页源码
print(driver.page_source)
# 刷新
driver.refresh()
# 后退
driver.back()
# 前进
driver.forward()
# 获取对应的所有cookie
driver.get_cookies()
# 添加cookie
# 关闭浏览器窗口# 访问目标网站的页面地址
url="http://www.myfsec.com/login.php"
driver.get(url)# 第二步:利用DOM的识别机制,去识别和操作页面元素
# 旧方法,将弃用
# driver.find_element_by_name('username').send_keys('admin')
# driver.find_element_by_name('password').send_keys('password')driver.find_element('name','username').send_keys('admin')
driver.find_element('name','password').send_keys('password')# 将弃用
# 根据xpath与css选择器定位元素
# driver.find_element_by_xpath("//input[@id='verifycode']").secd_keys('0000')
# driver.find_element_by_xpath('//*[@id="content"]/form/fieldset/p/input').click()
# driver.find_element_by_css_selector("#content > form > fieldset > p > input[type=submit]")
# 推荐使用
# driver.find_element('xpath',"//*[@id='content']/form/fieldset/p/input").click()
driver.find_element('css selector',"#content > form > fieldset > p > input[type=submit]").click()
# # 打印网页标题
# print(driver.title)
# # 打印网页源码
# print(driver.page_source)# 判断是否登陆成功,可以看网页中的某个元素是否存在
try:driver.find_element("id","main_body")print("登陆成功")
except:print("登陆失败")# 或者
if "Welcome to Damn Vulnerable Web Application!" in driver.page_source:print("登陆成功")
else:print("登陆失败")
driver.close()

chromdriver驱动下载:(谷歌)

  1. 114之前版本:
    1. chromedriver.storage.googleapis.com/index.html
  2. 125以后版本
    1. Chrome for Testing availability (googlechromelabs.github.io)

geckodriver驱动下载(火狐)

发布 ·Mozilla/GeckoDriver (github.com)

补充,selenium操作windows–UIAutomation

其实使用selenium操作windows窗口最主要的的是像浏览器的F12一样,识别他的布局结构,从而获取相应的元素进行操作,因此我们需要用到一个工具:UISpy

在这里插入图片描述

例如:驱动windows下的wechat

在这里插入图片描述

import uiautomation,time
def get_moment_list(moment):moment_list=moment.ListControl(Name="朋友圈").GetChildren()# 获取朋友圈列表,目前只能获取看到的前几条,后面的需要滚动条滚动才能获取,滚动还没实现return moment_list
# 定位到朋友圈框
def locate_wechat_moment():wechat=uiautomation.WindowControl(Name="微信")        # 加载微信框wechat.ButtonControl(Name="朋友圈").Click()            # 点击朋友圈按钮# time.sleep(1)                                           # 等待1秒moment=uiautomation.WindowControl(Name="朋友圈")        # 加载朋友圈框moment.ButtonControl(Name="刷新").Click()              # 点击刷新按钮moment_list=get_moment_list(moment)[1:]print(len(moment_list))moment.WheelDown(wheelTimes=12, interval=0.1, waitTime=0.5)close_moment_btn=moment.ButtonControl(Name="关闭")close_location=close_moment_btn.BoundingRectangleprint(close_location)while True:moment_list=get_moment_list(moment)moment_bottom=moment.BoundingRectangleprint(moment_bottom)for friend in moment_list:friend_bottom=friend.BoundingRectangleprint(friend_bottom)print(friend.Name)try:if friend_bottom.bottom<40:passelse:friend.ButtonControl(Name="评论").Click()    # 点击评论按钮,目的是为了显示出点赞按钮moment.ButtonControl(Name="取消").Click()       # 点击赞按钮print("点赞成功")except:print("点赞失败")finally:y=friend.BoundingRectangle.bottomprint(y)moment_list=get_moment_list(moment)moment.WheelDown(wheelTimes=y//20, interval=0.1, waitTime=0.5)if __name__ == '__main__':locate_wechat_moment()

验证码问题

  1. 短信验证码:用自己的手机获取验证码,然后用Python直接操作手机端提取验证码,进而实现自动化操作的目的。
  2. 图像验证码:静态和动态,静态的图片验证码,在没有AI之前利用打码平台进行识别或人工智能训练集进行处理,而对于动态类型验证码,比如图像滑动
  3. 机器学习
    1. 可处理的类型:文字、图片、视频、语音
    2. 怎么进行学习?CNN:卷积神经网络
      1. 安装库tensorflow.keras.models…
    3. 学习数据必须要有正确的标记:图片和正确答案,
    4. 网络安全的AI应用:入侵检测,
      1. 传统的入侵检测:基于特征,某个流量或请求存在一些可以的特征时,进行预警或防护
      2. 基于AI的入侵检测:基于机器学习,学习大量的正确的数据包和请求,一旦发现某个数据包与某个学习过的匹配度很低,则可疑
http://www.tj-hxxt.cn/news/29039.html

相关文章:

  • 做宣传的网站有哪些优秀网站
  • 重庆微信网站制作搜索引擎营销的英文简称
  • 个人微信小程序教程seo综合查询怎么用的
  • 曲沃网站建设建网站赚钱
  • 网站管理功能图模板建站平台
  • 网站宽度多少合适客户引流推广方案
  • 网站建设总体方案设计大连网络推广公司哪家好
  • 网站企业建设小程序定制
  • 武汉营销型网站建设小学生简短小新闻
  • wordpress国外图片主题最好的seo外包
  • 江苏专业网站制作百度快照首页
  • 流程网站设计公司网站排名
  • wordpress 标题重复沈阳seo网站关键词优化
  • 最好的网页设计公司合肥网络seo推广服务
  • 想开发自己的网站灰色产业推广引流渠道
  • 微信做单网站有哪些如何对产品进行推广
  • 做网页找什么公司佛山seo技术
  • 牡丹江市建设银行门户网站最近时事热点新闻评论及点评
  • 沧州网站建设哪家好腾讯网qq网站
  • 咨询邯郸网站建设aso优化平台
  • 衡水景县专业做淘宝网站公司百度推广账号怎么注册
  • 济南微网站建设友情链接交换教程
  • 桂林小学网站建设附近学电脑培训班
  • 宁波网络推广加盟兰州seo技术优化排名公司
  • 网络营销具体做什么seo课程培训入门
  • 建设旅游网站缺点电商平台排行榜前十名
  • logo设计欣赏b2b网站推广优化
  • 2016年做网站能赚钱流量平台排名
  • 如何做网站 百度广告推广渠道有哪些
  • wordpress企业站源码哈尔滨百度公司地址