郸城网站建设温州市网站建设哪家公司好

web/2025/10/1 9:35:18/文章来源:
郸城网站建设,温州市网站建设哪家公司好,网站查询域名解析,一站式电商网站建设目录 1.登录入口 2.点击“账号密码登录” 3.输入账号、密码并点击登录 4.滑块验证过程 5.小结 本次主要是使用selenium模拟登录网页端的TX新闻#xff0c;本来最开始是模拟请求的#xff0c;但是某一天突然发现#xff0c;部分账号需要经过滑块验证才能正常登录#x…目录 1.登录入口 2.点击“账号密码登录” 3.输入账号、密码并点击登录 4.滑块验证过程 5.小结 本次主要是使用selenium模拟登录网页端的TX新闻本来最开始是模拟请求的但是某一天突然发现部分账号需要经过滑块验证才能正常登录如果还是模拟请求需要的参数太多了找的心累。不过好在TX的滑块验证是他们自己开发的没有极验那么复杂当然相反的想要模拟就得自己去一点点探索了毕竟对极验滑块的破解网上已经可以找到现成的代码来用了。下面说一下模拟的实现过程和我遇见的问题。 1.登录入口 我是通过来当做登录入口的 部分代码实现 1 2 3 driver  webdriver.Chrome()    driver.get(url) 2.点击“账号密码登录” selenium可以实现对网页元素的定位我这里是通过id属性来定位“帐号密码登录”按钮的。这里需要注意的是有时候可能会因为网络不好等问题导致加载登录入口页会很慢所以在点击“帐号密码登录”按钮前需要做一个判断判断代表“帐号密码登录”的HTML元素是否已经加载完成。 “账号密码登录”按钮的id属性截图 部分代码实现 1 2 3 4 5 6 element  WebDriverWait(driver, 5, 0.5).until(    EC.presence_of_element_located((By.ID, switcher_plogin)))  br# from selenium.webdriver.common.by import By    element.click() 3.输入账号、密码并点击登录 这一步比较简单直接上代码 1 2 3 4 5 driver.find_element_by_id(u).send_keys(123456) # 输入用户名    driver.find_element_by_id(p).send_keys(ccccc) # 输入密码    driver.find_element_by_id(login_button).click() # 点击登录 4.滑块验证过程 1简要说明 因为主要目的就是为了模拟滑块验证所以在输入用户名和密码的时候直接选择输入“123456”和“ccccc”这样就必然会跳到滑块验证的页面 接下来的问题就是如何模拟滑动的过程。这里首先要说一下经过多次测试发现TX的滑块验证每次需要拖动的距离是有一定范围的“缺口”部分的位置基本上都在靠右侧的一面不像极验的滑块验证“缺口”部分可能出现在任意的位置这样在实现“滑动”过程前就必须判断每次滑动的距离是多少具体可以看看学习一下大神们都是如何实现极验滑块验证的。所以对于TX的滑块验证只要设置一个大概的距离“模拟滑动”即可失败的时候可以通过增减移动距离进行重试后面会进一步说明。 2为什么找不到“蓝色滑块” 前面已经点击了“登录”并跳转到“安全验证”的页面接着就是去模拟“拖动”截图中的“蓝色滑块”所以首先要告诉driver代表“蓝色滑块”的html元素是什么。代表“蓝色滑块”的html元素截图 通过上面的截图可以知道id值为tcaptcha_drag_button的div标签代表的就是“蓝色滑块”所以最开始我是直接尝试去拖动它但是这时候发现报错了部分截图如下 报错的原因很明显在当前得到的所有html元素中找不到id值为tcaptcha_drag_button的div标签。这是为什么 3切换frame 为什么出现上面的问题通过查找相关的资料才知道在跳转到“安全验证”的页面的时候“进入”了一个新的frame可以理解为在“登录页面”嵌套了一个“验证页面”而当前的driver加载的html元素全部都是“登录页面”的想要找到并拖动“蓝色滑块”就要先切换到“验证页面”这里通过driver.switch_to方法实现 1 2 3 iframe  driver.find_element_by_xpath(//iframe) # 找到“嵌套”的iframe    driver.switch_to.frame(iframe)     # 切换到iframe 4模拟拖动 切换到iframe之后就可以通过driver.find_element_by_id(tcaptcha_drag_button)找到“蓝色滑块”并拖动它了。拖动操作会用到selenium.webdriver的ActionChains类部分代码如下 1 2 3 4 5 6 7 8 9 button  driver.find_element_by_id(tcaptcha_drag_button)    # 找到“蓝色滑块”    action  ActionChains(driver)            # 实例化一个action对象    action.click_and_hold(button).perform()  # perform()用来执行ActionChains中存储的行为    action.reset_actions()    action.move_by_offset(180, 0).perform()  # 移动滑块 5构造移动轨迹 为了使拖动过程模拟的更“真实”可以构造一个滑动轨迹我这里也是参考了别人的代码看这里简单实现了一下实际上TX新闻的滑块验证对这方面好像要求不是很严格 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 def get_track(distance):    track  []    current  0    mid  distance * 3 / 4    t  0.2    v  0    while current distance:    if current mid:    a  2    else:    a  -3    v0  v    v  v0  a * t    move  v0 * t  1 / 2 * a * t * t    current  move    track.append(round(move))    return track 6如何确定已经“验证成功”了 接下来的问题就是我如何告诉程序已经“验证成功”了呢经过测试发现当拖动滑块完成拼图“验证成功”后网页又从“安全验证”的页面又跳回了“登录页面”滑动前截图 滑动验证成功的截图 成功后跳转回“登录”页面 通过上面的截图我们可以知道在“验证通过”之前在“安全验证”页面我们一直可以看到“拖动下方滑块完成拼图”的文字提示也就是说如果验证没有通过那么在当前的所有html元素中我们是可以找到文本为“拖动下方滑块完成拼图”的标签的 通过截图可以知道该标签的class为tcaptcha-title通过driver.find_element_by_class_name(tcaptcha-title).text来判断验证是否成功。 7重试 前面说了我们可以通过提前设置一个“可能的”值当初始距离来移动滑块如果移动的距离“过长”就减小该值当做下次移动的距离所以可以加一个while循环。以上过程实现的完整代码如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 # encodingutf8          from time import sleep    from selenium import webdriver    from selenium.webdriver import ActionChains    from selenium.webdriver.common.by import By    from selenium.webdriver.support import expected_conditions as EC    from selenium.webdriver.support.wait import WebDriverWait          url  https://xui.ptlogin2.qq.com/cgi-bin/xlogin?low_login0appid636014201targetselfborder_radius1maskOpacity40s_urlhttp%3A//www.qq.com/qq2012/loginSuccess.htm          def get_track(distance):    track  []    current  0    mid  distance * 3 / 4    t  0.2    v  0    while current distance:    if current mid:    a  2    else:    a  -3    v0  v    v  v0  a * t    move  v0 * t  1 / 2 * a * t * t    current  move    track.append(round(move))    return track          def main():    driver  webdriver.Chrome()    driver.set_window_position(900, 10)    driver.get(url)    # 检测id为switcher_plogin的元素是否加在DOM树中如果出现了才能正常向下执行    element  WebDriverWait(driver, 5, 0.5).until(    EC.presence_of_element_located((By.ID, switcher_plogin))    )    element.click()          sleep(1)    # 输入用户名和密码    driver.find_element_by_id(u).clear()    driver.find_element_by_id(u).send_keys(123456)    driver.find_element_by_id(p).clear()    driver.find_element_by_id(p).send_keys(ccccc)    sleep(1)    # 点击登录    driver.find_element_by_id(login_button).click()          sleep(5)          # 切换iframe    try:    iframe  driver.find_element_by_xpath(//iframe)    except Exception as e:    print get iframe failed: , e    sleep(2) # 等待资源加载    driver.switch_to.frame(iframe)          # 等待图片加载出来    WebDriverWait(driver, 5, 0.5).until(    EC.presence_of_element_located((By.ID, tcaptcha_drag_button))    )    try:    button  driver.find_element_by_id(tcaptcha_drag_button)    except Exception as e:    print get button failed: , e          sleep(1)    # 开始拖动 perform()用来执行ActionChains中存储的行为    flag  0    distance  195    offset  5    times  0    while 1:    action  ActionChains(driver)    action.click_and_hold(button).perform()    action.reset_actions() # 清除之前的action    print distance    track  get_track(distance)    for i in track:    action.move_by_offset(xoffseti, yoffset0).perform()    action.reset_actions()    sleep(0.5)    action.release().perform()    sleep(5)          # 判断某元素是否被加载到DOM树里并不代表该元素一定可见    try:    alert  driver.find_element_by_class_name(tcaptcha-title).text    except Exception as e:    print get alert error: %s % e    alert      if alert:    print u滑块位移需要调整: %s % alert    distance - offset    times  1    sleep(5)    else:    print 滑块验证通过    flag  1    driver.switch_to.parent_frame()    # 验证成功后跳回最外层页面    break          sleep(2)    driver.quit()    print finish~~    return flag          if __name__  __main__:    main() 5.小结 其实上面的代码还可以进一步“优化”。例如当尝试三次滑动后如果仍然没有“验证成功”就应该主动跳回“登录”页面重新输入账号密码登录进入下一次验证过程而不是无休止的进行“滑块验证”。除此之外以上只是对“滑块验证”部分进行了分析和模拟实际情况是通过了“滑块验证”后有可能账号或密码错误了这时候是不是应该重新输入账号密码进入新一轮验证过程呢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84972.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

山东外贸网站推广wordpress 文章打不开

除了上一节讲到的插入table标签,可以使父元素高度确定的多行文本垂直居中之外,本节介绍另外一种实现这种效果的方法。但这种方法兼容性比较差,只是提供大家学习参考。 在 chrome、firefox 及 IE8 以上的浏览器下可以设置块级元素的 display 为…

适合做网站背景音乐网站建设最好的教程

华为手机 鸿蒙系统 或者安卓系统的百度网盘下载的文件保存在手机什么位置如何查看 连接电脑后一般在这里位置 计算机\Mate 20 Pro (UD)\内部存储\Download\BaiduNetdisk 也就是用usb(数据线,不是充电线,要四心的 )连接手机后,打…

网站描述在哪里写关于加强网站建设的建议

碳资产是绿色资产的重要类别,在全球气候变化日益严峻的背景下备受关注。在“双碳”目标下,碳资产管理是企业层面实现碳减排目标和低碳转型的关键。 一、什么是碳资产? 碳资产是以碳减排为基础的资产,是企业为了积极应对气候变化&…

网站备案ps百度广告推广费用年费

域环境共享文件夹-容量配额管理 要求 1/李斯用户配额10G云盘空间,张珊用户配额30G云盘空间 2/D:\ 配额-启用配额-启用配额管理-拒绝将磁盘空间给超过配额限制的用户-勾选 3/将磁盘空间限制为:55GB,将警告等级设为50GB 4/选择该卷的配额记录选项-勾选…

做网站创业需要注册公司吗网站建设开发网站案例项目费用

现在很多页面在使用表单提交时&#xff0c;都会使用到验证码的使用、如何制做一个验证码呢&#xff1f;这里有一个用PHP的方法 以及代码1、首先在php.ini 配置文件里面把GD库打开 // 在php.ini里面找到 extensionphp_gd2.dll 把前面的分号删去。2、代码&#xff1a;<?php …

在青岛做阿里巴巴网站找谁禁用wordpress 昵称

在C语言中&#xff0c;指针通常与字符数组或字符串打交道时会涉及到ASCII码的转换&#xff0c;而不是用于表现多位数的第一位。48这个值对应的是ASCII码表中数字字符0的编码。 如果你有一个表示多位数的字符数组&#xff0c;例如&#xff1a; c char number[] "1234&qu…

办网站用什么证件wordpress无法更换主题

文章目录 一、RDB持久化1、概念2、生成、载入RDB文件3、执行时机&#xff08;1&#xff09; 执行save命令&#xff08;2&#xff09;执行bgsave命令&#xff08;3&#xff09;Redis停机时&#xff08;4&#xff09;触发RDB条件 4、bgsave原理5、小结 二、AOF持久化1、概念2、AO…

做pc端网站精英政务服务中心网站建设实施方案

一、介绍 Intro.js 是一个用于创建网站用户引导、功能介绍和教程的 JavaScript 库。它允许开发者通过步骤和提示突出显示网站上的特定元素&#xff0c;以帮助用户更好地了解和使用网站的功能。以下是 Intro.js 的一些关键特点和用法介绍&#xff1a; 更多Intro.js 功能网址&a…

怎样取消网站备案公司形象墙设计效果图大全

要让大模型更加聪明&#xff0c;可以采取以下方法&#xff1a; 增加数据量&#xff1a;大模型需要足够的数据来学习和理解复杂的问题。通过增加训练数据的数量&#xff0c;可以帮助模型更全面地学习和推理。 提高模型的复杂度&#xff1a;大模型往往有更多的层和参数&#xff…

成都手机网站建设哪网站改版 重定向

这些文档是我在2023年学习owl的时候翻译的官方的英文文档&#xff0c;当然在翻译过程中做了分类整理&#xff0c;总共有十篇&#xff0c;基本上涵盖了owl的方方面面&#xff0c;现在将它们归纳成合集。 关于OWL的中文文档&#xff1a; OWL教程1 OWL架构以及为什么要设计OWL h…

网站推广的策略有哪些代理服务器上外网

实时时钟(RTC)是一种IC&#xff0c;可以跟踪当前时间。微处理器通常可以通过串行接口读取此信息&#xff0c;以方便软件执行与时间有关的功能。RTC专为超低功耗而设计&#xff0c;因为它们通常在主系统断电时仍可继续运行。这样一来&#xff0c;他们就可以根据绝对时间基准(通常…

商业网站模板wordpress文章调用标签

如今网站建设可以说已经是企业必备。而在众多的网站建设工具中&#xff0c;WordPress无疑是其中的佼佼者。作为一款开源的CMS&#xff08;内容管理系统&#xff09;&#xff0c;WordPress拥有丰富的插件和主题&#xff0c;以及强大的功能&#xff0c;使得用户可以轻松地构建出符…

wordpress添加修改记录重庆seo优

我是neo4j的新手,根据我到目前为止所做的阅读,似乎有两种方法可以使用Neo4j REST和Embedded与neo4j进行交互.我有点困惑的是,“嵌入式”选项是否仅使您能够使用本机Neo4j API操纵数据存储,还是可以嵌入Neo4j并将其与Java应用程序打包,如果可以的话,我该怎么做&#xff1f;解决方…

网站建设公司哪家好 干净磐石网络室内设计效果图qq群

在Spring Boot应用中使用Flyway插件进行数据库迁移时&#xff0c;可以在应用的配置文件中配置相关参数。下面是常用的Flyway配置参数及其说明&#xff1a; flyway.enabled: 是否启用Flyway插件&#xff0c;默认为true&#xff0c;表示启用Flyway插件进行数据库迁移。flyway.ur…

素马网站建设服务收费标准网站开发的预算

my.cnf配置文件在linux上是位于路径“/etc/my.cnf”下&#xff0c;在window上则位于安装目录的根目录下&#xff1b;可以使用命令“mysql --help”查看关于MYSQL对应配置文件“my.cnf”搜索顺序。一般linux上都放在 /etc/my.cnf ,window 上安装都是默认可能按照上面的路径还是没…

广西麒铭建设有限公司网站泉州百度首页优化

效果 整体效果 局部图片放大效果 视频转换后带雪花特效,凑合看吧, 视频地址 准备工作 安装FFmpeg 电脑上安装ffpeg处理视频并设置环境变量, windows可以参考FFmpeg的安装教程这篇博客安装 mac可以直接执行brew install ffmpeg安装 安装python依赖包 执行pip3 install -…

检察院前期网站建设mx动漫wordpress主题

指定检索策略并检索 确定检索词 检索课题&#xff1a;查找与“新型冠状病毒疫苗研制进展”有关的学术论文 检索式(2019-nCoV or 2019新型冠状病毒 or nCov-2019 or SARS-CoV-2 or COVID-19) and (疫苗 or 预防针 or 防疫针 or vaccin or vaccine) 扩展检索词的方式 同义词…

网站开启伪静态wordpress 最强大主题

选择题 题目&#xff1a; 大数据是指&#xff08;&#xff09;及以上级别的数据量。 题目&#xff1a; 大数据的所谓6个V的特征不包括&#xff08;&#xff09; 题目&#xff1a; 目前所获取的总数据量的80%以上都是&#xff08;&#xff09;数据 题目&#xff1a; 大数据的…

网站做水印有没有影响吗东莞汽车网站建设

1、Spring实现了工厂模式的工厂类&#xff0c;这个类名为BeanFactory实际上是一个接口&#xff0c;在程序中通常BeanFactory的子类ApplicationContext。Spring相当于一个大的工厂类&#xff0c;在其配置文件中通过<bean>元素配置用于创建实例对象的类名和实例对象的属性。…

dz网站如何搬家新建的网站百度搜不到

大家好&#xff0c;我是 Just&#xff0c;这里是「设计师工作日常」&#xff0c;今天分享的是用css 实现一个动态的太极八卦图。 《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面css 样式页面…