将按键事件从HTML元素传递给python
Passing key press event from HTML element to python?
我有一个HTML页面,由QWebView控件在PyQT中显示。这个HTML页面由一个'input'元素组成,如下所示
<html>
<body>
<input id="username"></input>
</body>
<html>
显示上述html的python部分的代码片段如下
view = QWebView()
view.load('myview.html')
view.show()
我正在处理python部分的QWebView的关键事件,如下所示
def keyPressEvent(self, event):
print event.Key()
这个工作很好;我可以看到哪个键在QWebView中被触发。但是,一旦我单击输入元素并尝试编辑几个值,这些键就不会进入keyPressEvent。我认为它是在html元素本身内部处理的。我只想同时将这些关键事件传递给python部分;我正在考虑用一点黑客的方式来完成这个任务。
任何解决方案都将非常感激。
Thanks in advance
我会尝试使用您的QWebView
来获得将接收html输入的QWebElement
。
documentElement = view.page().currentFrame().documentElement()
input = documentElement.findFirst('input[id="username"]')
现在你已经控制了input
,你可以在keyPressEvent
之后读取它,或者直接连接到QWebElement
(这可能是不可能的)。
您可以简单地使用
恢复文本 print unicode(input.toOuterXml())
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 在python中,我如何才能恢复被隐藏的元素的内容
- Python返回上一页并记住元素
- 如何使用Python获取未出现在HTML中,但出现在Chrome的“检查元素”工具中的元素
- 如何在web2py视图中获取嵌入python代码中元素的内容
- 我可以使用regex与Python和Selenium一起找到一个元素吗
- Python BeautifulSoup-获取没有子元素的元素
- 如何在Selenium Python execute_script中获取返回元素的值
- Python Selenium PhantomJS单击元素后返回空源
- Selenium Python绑定:如何在元素上执行JavaScript
- 如何使用Python Selenium单击隐藏iframe中的元素
- 使用python从网站获取元素,无需打开浏览器
- Python Selenium: WebDriverWait,加载后仍未找到元素
- 将按键事件从HTML元素传递给python
- 在python中使用selenium,我如何绕过“消息:元素当前不可见”?
- 使用python从javascript中获取相同的元素但不同的值
- 如何检查导致web元素对Python Selenium不可见的原因
- Selenium WebDriver无法使用Python按Id查找元素
- 在Python中使用Spynner模块(需要选择一个Javascript元素)
- Python硒,我如何删除一个元素