每天一个小实例1(动态页面模拟点击,并爬取你想搜索的职位信息) from selenium import webdriver from bs4 import BeautifulSoup # 调用环境变量指定的PhantomJS浏览器创建浏览器对象 driver = webdriver.PhantomJS() #访问的网址,我这里是登录的boss直聘 driver.get('https://www.zhipin.com/') #模拟在搜索框输入你想搜索的内容 search_content = in…
Delphi uses mshtml, ActiveX; //初始加载网易主页 procedure TForm1.FormCreate(Sender: TObject); begin Webbrowser1.Navigate('http://www.163.com/'); end; procedure TForm1.Button1Click(Sender: TObject); var I: Integer; Document: IHTMLDocument2; Element: IHTMLElem…
一.背景介绍 最开始接触验证码破解的时候就是破解的w3cschool的使用手机号找回密码页面的验证码,详见:验证码识别之w3cschool字符图片验证码(easy级别),这次破解一下他们注册页面的滑块验证码,有点忐忑,我这么跟人过不去不会被打吧... 阅读前请知悉:本篇文章只涉及到滑块验证码的滑块位置识别,主要知识集中在图像处理方面,并不涉及到模拟鼠标轨迹等知识. 二.分析 首先打开这个页面:https://www.w3cschool.cn/register,观察下这个滑块验证码长啥样: 一般来…
好久没有写文章,发一篇顶顶博客访问量.别人建议转一些比较好的代码也贴过来,但是我打算这里主要发自己原创的代码,所以么..流量该多少就多少吧... 回到主题,在webbrowser中点击某链接网上几乎都是用document对象模拟点击,这个方法基本能应对一般的情况,但是例如广告联盟的点击XXX就有检测机制(不多解释,你们懂的).所以完全模拟鼠标的点击事件就比较完美.于是我用了最常见的SendMessage. 接下来就要解决一个问题,webbrowser的句柄问题.从控件本身得到的句柄不是真正的浏览…
引言 这两天沉迷了Google SketchUp,刚刚玩够,一时兴起,研究了一下WebBrowser. 我在<WebBrowser控件使用技巧分享>一文中曾谈到过“我现在可以通过WebBrowser实现对各种Html元素的操控,唯独无法控制Html的上传控件”,出于安全原因,IE没有对上传控件提供操控支持,这使得我们没法像控制其他控件一样用简单的代码进行赋值. 比较实际的解决方案就是模拟操作了,下面我就将演示通过键盘.鼠标两种方式模拟点击“浏览”按钮,然后配合键盘模拟输入文件路径,并按回车键确…
我们在开发中,往往要得到网页中某个元素的位置,并且点击它.要模拟一次鼠标点击并不难,只要调用一个API就行了,关键就是怎么样得到这个元素的位置,还有判断是否要滚动滚动条,要滚动多少行能让元素显示出来.当然我们可以动态改变它的CSS,让它在特定的位置显示出来,但这个方法只对比较简单的网页有效. 那我们怎么才能得到网页的位置呢,首先我们来看一张图片 从这里我们可以看到五个offset的属性,这里我们主要利用offsetparent, offsetleft 和offsettop,我们用offsetpa…
今天写程序遇到的,想要用鼠标模拟点击a标签 html代码如下: <a id="jump"></a> js代码如下: var page = ....; $('#jump').attr('href', '?page='+page).click(); 执行结果为a标签的href属性添加成功,但就是无法点击跳转... 后查询结果说要在里面加元素,故将html改成: <a id="jump"><span id="click&…
常见的获取控件并点击(自动登录): var txtUserID = wbsTask.Document.All["userName"]; var txtPsd = wbsTask.Document.All["password"]; var txtVrf = wbsTask.Document.All["code"];var btnSubmit = wbsTask.Document.All["btnSubmit"]; var cod…
今天在维护公司的一个小项目的时候,发现按公司手机的某个物理按键,激活相应的Service后,会在屏幕上模拟的点击了屏幕的某个坐标点.好家伙,原来是之前该项目的版本是按这个物理按键后,会弹出一个对话框,提示用户需要打开某些服务,然后出于良好的用户体验,直接模拟点击事件,点击该对话框,不让用户做多余的操作. 但是后期版本的改动,该功能不需要了,但是代码可能没有改动完全,因此出现了上述bug.查看代码发现,原来是执行了下面的代码才模拟出在屏幕上的点击事件. Runtime.getRuntime().e…
前言 年初四月份的时候,有朋友找到我,说想开发一个模拟点击的软件.最终软件做完后,发现效果不理想.唯一开发的我是认为最好是放弃了,做运营的他,坚持说这个没问题,说是改变合作方式.最终也是不了了之了. 不过,在这中间经历了一次重写,三次核心方法的变更,无数次的查资料,找解决办法至凌晨.中间穿插了无数次的讨论修改,修改讨论.虽然功能很简单,但是也花费了三个月的心血.心想,还是想好好总结一下.最后的软件界面如下: 实现思路&使用控件 首先,在内置浏览器里面打开网页,通过Javascript 获取需要的…