如何在Qwebview和python中单击文本区域

时间:2014-09-08 11:37:15

标签: javascript python qwebview qwebelement

我正在使用QWebView和python来创建一个自动化应用程序,我可以通过标签和id选择Qwebelements,它也很容易点击按钮,但我无法做到以下几点 - 点击带有标签的元素" Textarea"准备他们插入数据 - 将密钥发送到textrea元素

我可以做的填写表单的代码示例如下,但它不适用于textarea元素

page = webview.page().mainFrame()
doc = page.documentElement()
username = doc.findFirst("input[id=email]")
username.setAttribute('value', "user@user.com")
password = doc.findfirst("input[id=pass]")
bt.evaluateJavaScript('this.click()')
获取按钮元素之后的

#this

2 个答案:

答案 0 :(得分:1)

元素聚焦:

您正在尝试“聚焦”一个元素,这意味着输入会转到该元素。 专注,试试这个:

txtarea = self.documentElement.findFirst('textarea[name="someTextArea"]')
txtarea.evaluateJavascript('this.focus()')

设置属性与属性: 最简单的方法是使用JavaScript设置'textarea'的值(而不是直接设置属性)。

示例:

txtarea = self.documentElement.findFirst('textarea[name="someTextArea"]')
txtarea.evaluateJavaScript('this.value="' + yourText + '";')

一些额外的细节:

'setAttribute'的原因不适合你: 您正在尝试更改名为“值”的属性,而实际应更改的是属性'值'。 两者之间的差异是explained here

答案 1 :(得分:0)

用于聚焦文本区域元素,如“facebook group text area”,使用“txtarea.evaluateJavaScript(”this.focus()“)代替”this.click()“ 这对我有用