2014-08-29 10 views
3

Python에서 Selenium 모듈을 사용하여 Quora에 로그인했습니다. Facebook에서는 문제가 없지만 Quora에서 시도하는 동안 send_keys('my_email') 행에 오류가 발생합니다.Python에서 Selenium webdriver를 사용하여 Quora에 로그인 할 수 없습니다.

다음 스크립트를 사용 중입니다.

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
import time 

driver = webdriver.Firefox() 
driver.get('http://www.quora.com/') 
time.sleep(60) 

username = driver.find_element_by_name('email') 
time.sleep(60) 
username.send_keys('my_email') 
time.sleep(60) 

password = driver.find_element_by_name('password') 
time.sleep(60) 
password.send_keys('my_password') 
time.sleep(60) 

password.send_keys(Keys.RETURN) 

driver.close 

파이썬 셸을 사용하여 한 줄씩 스크립트를 실행 해 보았으므로 수면 시간이 문제가되지 않습니다.

오류 :

Traceback (most recent call last): File "", line 1, in password.send_keys('my_password') File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 293, in send_keys self._execute(Command.SEND_KEYS_TO_ELEMENT, {'value': typing}) File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 370, in _execute return self._parent.execute(command, params) File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 173, in execute self.error_handler.check_response(response) File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 164, in check_response raise exception_class(message, screen, stacktrace) ElementNotVisibleException: Message: u'Element is not currently visible and so may not be interacted with' ; Stacktrace: at fxdriver.preconditions.visible (file:///c:/users/siddhesh/appdata/local/temp/tmpgwft3s/extensions/[email protected]/components/command_processor.js:8791:5) at DelayedCommand.prototype.checkPreconditions_ (file:///c:/users/siddhesh/appdata/local/temp/tmpgwft3s/extensions/[email protected]/components/command_processor.js:11438:1) at DelayedCommand.prototype.executeInternal_/h (file:///c:/users/siddhesh/appdata/local/temp/tmpgwft3s/extensions/[email protected]/components/command_processor.js:11455:11) at DelayedCommand.prototype.executeInternal_ (file:///c:/users/siddhesh/appdata/local/temp/tmpgwft3s/extensions/[email protected]/components/command_processor.js:11460:7) at DelayedCommand.prototype.execute/< (file:///c:/users/siddhesh/appdata/local/temp/tmpgwft3s/extensions/[email protected]/components/command_processor.js:11402:5)

+0

어떤 오류 당신이있어 :

당신은 "정기적으로 로그인"섹션에서 하나를해야합니까? –

+0

질문에 완전한 역 추적을 포함하십시오. – alecxe

답변

5

문제는 name="email" 여러 입력이 있다는 것입니다.

form = driver.find_element_by_class_name('regular_login') 
username = form.find_element_by_name('email') 
username.send_keys('my_email') 

password = form.find_element_by_name('password') 
password.send_keys('my_password') 
+0

username.send_keys() 줄의 문제라고 생각합니다. 왜냐하면 내가 말한대로 쉘에서 줄 단위로 실행하려고했기 때문에 send_keys 줄에 오류가 발생합니다. – Siddhesh

+0

@Siddhesh ok, 어떤 오류가 발생하고 있습니까? – alecxe

+0

역 추적 (가장 최근 통화 최종) : 파일 "", 라인 1, password.send_keys에서 ('MY_EMAIL') 파일 "C : \ Python27 \ lib 디렉토리의 \ 사이트 - 패키지 \ 셀레늄 \ webdriver 원격 \ \ webelement (C : \ Python27 \ lib \ site-packages \ selenium \ webdriver \ remote \ webelement.py) 파일 : self._execute (Command.SEND_KEYS_TO_ELEMENT, { 'value': 타이핑}) 파일 " , 370 줄, 실행 중 return self._parent.execute (command, params) 파일 "C : \ Python27 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py", 줄 173, 실행 self .error_handler.check_response (응답) – Siddhesh

관련 문제