是否可以为QWebElement触发类似用户的事件(如鼠标点击链接)?即,例如,从当前帧(使用QWebKit)获取html标记("")的QWebElement,我想以编程方式单击()此元素.
在更复杂的情况下,有更多的兴趣,比如如何为html UL元素发出OnChange事件?在这种情况下,我不仅发出OnChange(),而且还在角色Current Element中设置枚举中的新元素(在类似用户的行为中,有两个步骤:1.单击UL(在此框之后展开元素)2.选择一些元素)
我已经通过实时使用jQuery及其函数触发器(...)手动(通过站点 - 开发人员程序员)来解决这个问题,例如onclick = ...,onchange = ...等.
但是,以编程方式触发用户类事件的问题对我来说很重要,请帮忙)
拥有以下html的DOM;
<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>
Run Code Online (Sandbox Code Playgroud)
如何在QWebKit(特别是QWebPage)中关注链接(href).
请注意,这是一个链接的图像.
通过模拟鼠标点击我无法做到(我不想,即使我可以),因为我不使用QWebView,因此我没有渲染页面.
我相信QtWebKit中没有使用SpellChecker的本机函数.
有没有办法获取当前页面的字段(<textarea>,<input>和<tagName contenteditable=true>)并突出显示特定的单词(添加下划线只有可能错误的单词)?
[编辑]
我需要在Words而不是dom元素中添加"视觉效果"(下划线),例如,如果我有这样的html:
<textarea>Helllo world!</textarea>
Run Code Online (Sandbox Code Playgroud)
只有"Helllo"这个词会加下划线,例如:

谢谢.
我正在尝试使用QtWebKit模块将照片上传到vk.com.我面临的问题是无法正确填补价值.这是我使用的一些相关代码:input(type="file")
def upload():
print 'uploading...'
photoInput = web.page().mainFrame().documentElement().findFirst('input[id="photos_upload_input"]')
assert photoInput, 'No input found'
photoInput.setAttribute('value', '/Users/elmigranto/Downloads/stuff.png')
print photoInput.evaluateJavaScript('return this.value;').toString()
Run Code Online (Sandbox Code Playgroud)
值得注意的是,由于浏览器安全策略,Javascript无法填写文件输入值.但是,应该可以使用Qt API,更具体地说,使用方法.这就是我所做的......没有效果(好吧,返回预期结果,但返回空字符串,输入的处理程序也不会被触发).QWebElement::setAttribute()photoInput.attribute('value')photoInput.evaluateJavaScript('return this.value;').toString()onchange
设置其他属性没有问题,例如,像魅力一样工作.QWebElement::addClass()
任何帮助都会非常棒.
谢谢.
如何在输入字段中获取userinput?
QObject::connect( webView, SIGNAL(loadStarted()), this, SLOT(slotLoadStarted()) );
void slotLoadStarted()
{
QWebFrame *frame = webView->page()->currentFrame();
if (frame!=NULL)
{
QWebElementCollection collection = frame->findAllElements("input[name=email]");
foreach (QWebElement element, collection)
{
qDebug() << "element.toOuterXml" << element.toOuterXml();
qDebug() << "element.attribute value:" << element.attribute("value");
}
}
Run Code Online (Sandbox Code Playgroud)
}
如果我设置属性,比它的工作,但我想抓住用户输入,任何想法?
我用硒与C#一起编写测试,但现在我遇到了问题.
这是我的HTML.如何在网页上找到"100"?
< ul>
< li class=""> 100 < /li>
< li class=""> 200 < /li>
< li class=""> 300 < /li>
< li class=""> 400 < /li>
< li class=""> 500 < /li>
< /ul>
Run Code Online (Sandbox Code Playgroud) 我希望PyQt加载图像并从网上显示它.我在网上找到的几十个例子都不起作用,因为它们用于下载图像.
我只想查看它.
就像是
from PyQt4.QtWebKit import *
web = QWebView()
web.load(QUrl("http://stackoverflow.com/content/img/so/logo.png"))
Run Code Online (Sandbox Code Playgroud)