首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在QWebKit中使用链接?

如何在QWebKit中使用链接?
EN

Stack Overflow用户
提问于 2009-08-02 21:18:07
回答 3查看 6.6K关注 0票数 6

具有以下html的DOM;

代码语言:javascript
复制
<a href="?op=order">
<img class="img_button" src="picture.gif"
  onMouseOver="this.src='some.gif';"
  onMouseOut="this.src='some_other.gif';"
  alt="" border="0">
</a>

如何在QWebKit (特别是QWebPage)中使用链接(href)。

请注意,这是一个链接的图像。

我不能通过模拟鼠标点击来做到这一点(即使我能做到这一点),因为我没有使用QWebView,因此我没有渲染页面。

EN

回答 3

Stack Overflow用户

发布于 2010-08-08 07:49:11

假设您在一个名为“QWebElement”的变量中拥有链接的链接(通过findFirst或其他任何方式):

var link.evaluateJavaScript("var evObj =var‘点击’,

,true )evObj(EvObj);“)

(这是在Python中实现的,但最重要的是Javascript。是的,这是模拟鼠标单击,但由于它不使用坐标,所以它可以很好地处理未呈现的QWebPage。)

票数 8
EN

Stack Overflow用户

发布于 2010-12-18 07:52:17

在元素上使用DOM的click()脚本函数可以实现这一点:

代码语言:javascript
复制
QWebPage * page = ...;
QWebElement el = page->mainFrame()->findFirstElement("a[href]");
el.evaluateJavaScript("this.click()"); 
票数 4
EN

Stack Overflow用户

发布于 2013-01-20 09:17:34

如果你有QWebView,并且不关心滚动自动化,这可能会有所帮助:

代码语言:javascript
复制
const QWebElement &element=__your_element__;
QWebView *view =__your_view__;
QWebFrame *const frame=view->page()->mainFrame();
QPoint const elemPos=element.geometry().center();
frame->setScrollPosition(elemPos);
QPoint const scrollPos=frame->scrollPosition();

QMouseEvent * const impossibleMousePress = new QMouseEvent(QEvent::MouseButtonPress,elemPos-scrollPos,Qt::LeftButton,Qt::LeftButton,Qt::NoModifier);
QMouseEvent * const impossibleMouseRelease = new QMouseEvent(QEvent::MouseButtonRelease,elemPos-scrollPos,Qt::LeftButton,Qt::LeftButton,Qt::NoModifier);
QApplication::postEvent(view,impossibleMousePress);
QApplication::postEvent(view,impossibleMouseRelease);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1219880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档