5

我在 Python 中使用 Selenium 模块登录 Quora。send_keys('my_email')它适用于 Facebook,但我在 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

睡眠时间在这里不是问题,因为我尝试使用 Python shell 逐行执行脚本。

错误:

u'元素当前不可见,因此可能无法与之交互';Stacktrace:在延迟命令的 fxdriver.preconditions.visible (file:///c:/users/siddhesh/appdata/local/temp/tmpgwft3s/extensions/fxdriver@googlecode.com/components/command_processor.js:8791:5)。在 DelayedCommand.prototype.executeInternal_/h (file:///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。

4

1 回答 1

6

问题是有多个输入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')
于 2014-08-29T13:38:42.157 回答