python - 使用 Selenium 登录

标签 python selenium authentication

<分区>

我在以下位置遵循了已接受答案的解决方案: How to use Selenium with Python?

我正在尝试登录 coinbase https://coinbase.com/signin

这是我的代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException


site = "https://coinbase.com/signin"
email = "myemail@mymail.com"
password = "mypassword"

xpaths = {
'emailTxtBox' : '/html/body/div[2]/div[2]/div[2]/div/div/form/div[2]/div/input',      
'passwordTxtBox' : '/html/body/div[2]/div[2]/div[2]/div/div/form/div[3]/div/input',
'submitButton' : '/html/body/div[2]/div[2]/div[2]/div/div/form/div[4]/div/input'
    }

browser = webdriver.Firefox()
browser.get(site)

#Write Username in Username TextBox
mydriver.find_element_by_xpath(xpaths['emailTxtBox']).send_keys(email)

#Write Password in password TextBox
mydriver.find_element_by_xpath(xpaths['passwordTxtBox']).send_keys(password)

#Click Login button
mydriver.find_element_by_xpath(xpaths['submitButton']).click()

我运行它,selenium 打开 coinbase,然后在几秒钟后刷新,然后什么也没有发生。

最佳答案

您指定:

xpaths['usernameTxtBox']

但根据您的数组,它不存在:

xpaths = {
'usernameTxtBox' # needs to be in the array
'emailTxtBox' : '/html/body/div[2]/div[2]/div[2]/div/div/form/div[2]/div/input',      
'passwordTxtBox' : '/html/body/div[2]/div[2]/div[2]/div/div/form/div[3]/div/input',
'submitButton' : '/html/body/div[2]/div[2]/div[2]/div/div/form/div[4]/div/input'
    }

评论后编辑: 我会考虑修改您的 xpath,或保持简单(愚蠢)。

//input[@id='email']
//input[@id='password']
//input[@id='signin_button']

关于python - 使用 Selenium 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22383900/

相关文章:

python - SQLite 比较查询 Python

python - Python中如何判断一行是否是最后一行?

python - Selenium 使用Python : how to correctly click() an element?

java - 如何通过 Java 使用 Selenium 右键单击​​链接并在新选项卡中打开链接

facebook - webDialog "CURRENT GOALS" header ,但没有授权或取消按钮

python项目特定模块安装方法

python - 使用 Django 实现配置应用程序的最佳方法是什么?

java - 如何使用 Java 在 selenium WebDriver 中按 CTRL+T 和 CTRL+TAB?

security - Symfony2 in_memory 用户提供程序问题

java - 需要帮助在 java 中使用 Htmlunit 登录我的雅虎邮件帐户