Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6086661
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类: 大数据

2014-06-06 02:40:39

在QT官网上有个webkit模拟网页点击事件的例子:

点击(此处)折叠或打开

  1. QWebElement document = frame->documentElement();
  2.      /* Assume that the document has the following structure:

  3.          <form name="myform" action="submit_form.asp" method="get">
  4.              <input type="text" name="myfield">
  5.              <input type="submit" value="Submit">
  6.          </form>

  7.       */

  8. QWebElement button = document.findFirst("input[type=submit]");
  9. button.evaluateJavaScript("this.click()");
这个例子就是在:
  1. <form name="myform" action="submit_form.asp" method="get">
  2.              <input type="text" name="myfield">
  3.              <input type="submit" value="Submit">
  4.          </form>

这个网页里头,找出一个type=submit的input元素,然后调用js里的 this.click()来模拟鼠标点击


但是这是方法是有局限的,click()事件只能对元素进行操作,但是对于

元素等就不行了。
下面介绍一个实现对
 

等元素的模拟点击:

如果要对上面的元素进行点击的话,可以这么做:

点击(此处)折叠或打开

  1. aa=self.mainFrame().findAllElements("a[id=kwl]")
  2. a=aa.at(0)
  3. a.evaluateJavaScript("this.focus()")
代码是用python写的,调用qt模块,用的是qt的库。语法与c++有点不同,但是方法是一样的。
上面代码是先让焦点放在想要的
元素上。然后模拟 ENTER 按键:
python下调用的是virtkey模块:

点击(此处)折叠或打开

  1. v = virtkey.virtkey()
  2. v.press_keysym(65421)
  3. v.release_keysym(65421)
然后ok,模拟完成。








阅读(1887) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~