2014-09-08 5 views
1

QWebView를 사용하여 파이썬에서 자동화 된 응용 프로그램을 만들고 태그 및 ID로 Qwebelements를 선택할 수 있으며 단추를 쉽게 클릭 할 수 있지만 다음을 수행 할 수 없습니다. - 클릭 태그 "텍스트 영역"을 가진 요소는 데이터 를 삽입 할 수 있도록 준비하기 - textrea 요소Qwebview 및 python에서 텍스트 영역을 클릭하는 방법

I 양식은 다음과 같습니다 있지만 텍스트 영역 요소가 작동하지 않습니다 채우기 위해 무엇을 할 수 있는지에 대한 코드 예제에 키를 보내

page = webview.page().mainFrame() 
doc = page.documentElement() 
username = doc.findFirst("input[id=email]") 
username.setAttribute('value', "[email protected]") 
password = doc.findfirst("input[id=pass]") 
bt.evaluateJavaScript('this.click()') 

위의 것과 같은 버튼 요소를 가져온 후 #이 하나

초점 16,

답변

1

요소 :

당신은 입력이 해당 요소에가는 것을 의미한다 '초점'요소에 노력하고 있습니다. 초점을, 그냥이 시도 : 단지 자바 스크립트를 사용하여 '텍스트 영역'의 값을 설정 (대신 직접 속성을 설정)되어이 작업을 수행하는 가장 간단한 방법 :

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

설정은 속성 대 속성 .

예 :

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

일부 추가 세부 정보 :

당신을 위해 작동하지 않는 이유 '의 setAttribute는' 당신은 '가치'라는 특성을 변경하려는 실제로 변경해야하는 것은 속성 '값'입니다. 둘 사이의 차이는 explained here입니다.

+2

감사를 사용하여 회신하지만, setattribute 나를 위해 일하고있다, 내가 무엇에 대해 묻는 오전 : 내가 요소를 얻을 때, 예를 들어 페이스 북 그룹의 텍스트 영역을 찾을 수 있지만 그것을 열려고하면 오류가 있어요 "Post"버튼이 나타납니다 –

+0

오, 내 생각에는 요소를 "집중"하는 것 같아요. 답을 수정하겠습니다. – Matanoga

0

"페이스 북의 그룹 텍스트 영역"와 같은 텍스트 영역 요소를 집중에 대한 내용은 "txtarea.evaluateJavaScript ("this.focus() ") 대신"this.click() " 이 나를 위해 일