当前位置: 首页 > 知识库问答 >
问题:

无法在Python中使用Selenium webdriver登录Quora

安高翰
2023-03-14

我使用Python中的Selenium模块登录Quora。它在Facebook上很好用,但在Quora上尝试时,我在send_keys('my_email')行出现了一个错误:

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

回溯(最近调用最后一次):文件“”,第1行,在password.send_keys('my_password')文件“C:\python27\lib\site-packages\selenium\webdriver\remote\webdriment.py”,第293行,在send_keys self._execute(command.send_keys_to_element,{'value':typing})文件“C:\python27\lib\site-packages\selenium\webdriver\remote\webdriment.py”,第在execute self.error_handler.check_response(响应)文件“C:\python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py”第164行,在check_response引发exception_class(message,screen,stacktrace)elementNotVisibleException:message:u'元素当前不可见,因此不能与‘;StackTrace:at fxdriver.preconditions.visible(文件:///c:/users/siddhes/appdata/local/temp/tmpgwft3s/extensions/fxdriver@googlecode.com/components/command_processor.js:8791:5)at delayedcommand.prototype.checkpreconditions_(文件:///c:/users/siddite.js:11438:1)at delayedcommandd.prototype.executeinternal_h hesh/appdata/local/temp/tmpgwft3s/extensions/fxdriver@googlecode.com/components/command_processor.js:11455:11)在delayedcommand.prototype.executeinternal_(文件:///c:/users/siddhes/appdata/local/temp/tmpgwft3s/extpensions/fxdriver@googlecode.com/components/command_processor.js:11402:5)

共有1个答案

慕容宏毅
2023-03-14

问题是有多个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')
 类似资料:
  • 我一直在关注symfony网站上的教程(http://symfony.com/doc/current/security.html)为我的Symfony 3.1项目添加登录名。它可以与HTTP基本身份验证一起工作,但是当我使用这里的教程添加form_登录时(http://symfony.com/doc/current/security/form_login_setup.html)它会一直重定向到登录

  • 问题内容: 我正在尝试使用Selenium登录gmail。在新的gmail登录中,首先输入您的电子邮件ID,然后在下一页输入密码。电子邮件页面的URL和密码页面的URL不同。因此,当我在其中传递密码URL时,它将重新加载页面,并且如果您刷新URL而未输入密码,它将重定向到电子邮件页面。因此,它缺少密码字段选择器。仍然是先前的网址,即电子邮件页面的网址。这是我的代码。我正在使用Chrome驱动程序和

  • 我用auth0用angularjs创建函数login。 当我输入电子邮件和密码登录成功不返回信息,并再次重定向到登录页面。我检查数据返回看不到' id_token '。 app.js包括配置认证 身份验证服务.js

  • 我有一个带有MySQL的Spring Boot应用程序。我可以在数据库中保存用户,但当我试图登录时,它总是说用户名或密码不正确。即使当我硬编码一个用户,它仍然不工作。 我使用JavaBrains教程和他们在GitHub上的代码创建了这个设置。 安全配置: 我的UserDetailsService 我的用户详细信息 登录页面上的登录表单 我没有登录的POST映射,因为它应该由Spring Secur

  • 问题内容: 我无法使用JavaFX WebView登录到Google。当我单击“下一步”按钮时,该页面无法加载。 在不同网站上的其他登录也可以正常工作。 这是您可以运行的示例: 屏幕截图在这里 问题答案: 精简版: 在加载页面之前,将以下行添加到您的main方法中: 长版: 我的第一个直觉是JavaScript无法正常工作,但是我测试了伪邮件并正确地得到了错误: 找不到您的Google帐户 因此,

  • 我无法在JavaFX WebView中登录谷歌。当我单击“下一步”按钮时,页面未加载。 不同网站上的其他登录也可以。 这是一个您可以运行的示例: 此处截图