Sid*_*esh 3 python selenium python-2.7 selenium-webdriver quora
我在Python中使用Selenium模块登录Quora.它适用于Facebook,但我send_keys('my_email')在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
Run Code Online (Sandbox Code Playgroud)
睡眠时间在这里不是问题,因为我尝试使用Python shell逐行执行脚本.
错误:
回溯(最近一次调用最后一次):文件"",第1行,在password.send_keys('my_password')文件"C:\ Python27\lib\site-packages\selenium\webdriver\remote\webelement.py",第293行,在send_keys中self._execute(Command.SEND_KEYS_TO_ELEMENT,{'value':输入})文件"C:\ Python27\lib\site-packages\selenium\webdriver\remote\webelement.py",第370行,在_execute返回self ._parent.execute(command,params)文件"C:\ Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py",第173行,执行self.error_handler.check_response(response)文件"C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py",第164行,在check_response中引发exception_class(消息,屏幕,堆栈跟踪)ElementNotVisibleException:消息:u'Element当前不可见,因此可能不是与'互动'; Stacktrace:在DelayedCommand的fxdriver.preconditions.visible(文件:/// c:/users/siddhesh/appdata/local/temp/tmpgwft3s/extensions/fxdriver@googlecode.com/components/command_processor.js:8791:5).在delayededCommand.prototype.executeInternal_/h中的prototype.checkPreconditions_(文件:/// c:/users/siddhesh/appdata/local/temp/tmpgwft3s/extensions/fxdriver@googlecode.com/components/command_processor.js:11438:1) (文件:/// c:/users/siddhesh/appdata/local/temp/tmpgwft3s/extensions/fxdriver@googlecode.com/components/command_processor.js:11455:11)在DelayedCommand.prototype.executeInternal_(file:// /c:/users/siddhesh/appdata/local/temp/tmpgwft3s/extensions/fxdriver@googlecode.com/components/command_processor.js:11460:7)在DelayedCommand.prototype.execute/<(file:/// c: /users/siddhesh/appdata/local/temp/tmpgwft3s/extensions/fxdriver@googlecode.com/components/command_processor.js:11402: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')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1703 次 |
| 最近记录: |