主题:有个智能浏览器的专利,找人一起整 -- 统领
至少我在PyWebkit里面能很容易地做到:
先定义这三个辅助函数:
def _find_element(br, str):
return br.page().mainFrame().findAllElements(str)[0]
def _click(element):
element.evaluateJavaScript("var evObj = document.createEvent('MouseEvents');evObj.initEvent( 'click', true, true );this.dispatchEvent(evObj);")
def _capture(br):
img = QImage(br.page().viewportSize(), QImage.Format_ARGB32)
painter = QPainter(image)
br.page().mainFrame().render(painter)
painter.end()
img.save("output.png")
然后也是四行:
br.load(URL)
_find_element(br, "input[id=text]").setAttribute("value", TEXT)
_click(_find_element(br, "input[id=submit]"))
_capture(br)
也是几分钟的事情,实在是平平无奇啊。如果要让网页做到这些,用我之前提到的bridge方法,把python解释器的exec()函数暴露给网页的javascript环境就行了(没有多少代码,但是没人做,原因是很不安全),然后网页里面就可以插入最简单的javascript:
zBrow("br.load(URL)");
- 相关回复 上下关系8
🙂能举个例子么? pastebt 字0 2011-09-13 22:13:38
🙂最简单的z脚本,才4行 统领 字506 2011-09-13 22:33:28
🙂iMacros 插件也可以做到 box 字194 2011-09-20 07:16:04
🙂用其他语言实现起来也很简单啊
🙂python是个很好的对比例子 统领 字1691 2011-09-16 22:10:50
🙂你确定你这是定义了一种新的脚本语言 pastebt 字18 2011-09-13 23:21:59
🙂z是一种简化的脚本语言:z语言与C-- 统领 字71 2011-09-13 23:27:56
🙂资料全看了一遍,感觉不靠谱啊,多少钱买的? 2 大熊甲 字659 2011-09-13 11:38:36