我正在使用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
答案 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()“ 这对我有用