Python 从web链接获取基于登录按钮的xpath

Python 从web链接获取基于登录按钮的xpath,python,selenium,xpath,Python,Selenium,Xpath,我正在尝试使用python运行Selenium,我成功地启动了浏览器并输入了用户名和密码,但我无法为登录按钮运行xpath Python Script import selenium from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import

我正在尝试使用python运行Selenium,我成功地启动了浏览器并输入了用户名和密码,但我无法为登录按钮运行xpath

     Python Script 
         import selenium
         from selenium import webdriver
         from selenium.webdriver.common.by import By
         from selenium.webdriver.support.ui import Select
         from selenium.common.exceptions import NoSuchElementException
         from selenium.webdriver.common.keys import Keys
         mydriver = webdriver.Chrome(executable_path=r"C:\Mypath\chromedriver.exe")
         baseurl = "http://www.gcrit.com/build3/admin/"
         mydriver.get(baseurl)
         username = "admin"

     xpaths = { 'usernameTxtBox' : "//input[@name='username']",
       'passwordTxtBox' : "//input[@name='password']",
       'submitButton' :   "//input[@name='login']"
     }      mydriver.find_element_by_xpath(xpaths['usernameTxtBox']).send_keys(username)
           password = "admin@123"
           mydriver.find_element_by_xpath(xpaths['passwordTxtBox']).send_keys(password)

    All other steps run fine except this one: 
     mydriver.find_element_by_xpath(xpaths['loginButton']).click()
我收到了这个错误消息

      mydriver.find_element_by_xpath(xpaths['loginButton']).click()
      KeyError: 'loginButton'

       I tried getting the Xpath from element as well but I got the same error. @id="tdb1"]
登录按钮的HTML(了解识别元素的任何有效方法都会很有帮助):

登录

如果您定义了字典
xpaths
中的某处,您应该检查它是否真的像:

xpaths = {'usernameTxtBox': '//input[@name="username"]', 'passwordTxtBox': '//input[@name="password"]', 'loginButton': '//button[@id="tdb1"]'}
更新


请注意,您已使用
submitButton
键定义了Submit按钮,同时尝试使用
loginButton
键获取其值。如果您已在某处定义字典
xpaths
,则应检查它是否真的看起来像:

xpaths = {'usernameTxtBox': '//input[@name="username"]', 'passwordTxtBox': '//input[@name="password"]', 'loginButton': '//button[@id="tdb1"]'}
更新


请注意,您已经使用
submitButton
键定义了Submit按钮,同时尝试使用
loginButton
键获取其值python中的
键错误通常在找不到键时发生。您确定“loginButton”在现有密钥集中吗

来自官方python库

异常键错误

在集合中找不到映射(字典)键时引发 现有密钥


请参阅链接。

python中的
键错误通常在找不到键时发生。您确定“loginButton”在现有密钥集中吗

来自官方python库

异常键错误

在集合中找不到映射(字典)键时引发 现有密钥


请参阅链接。

什么是
xpath
?如果id可用,那么为什么要尝试使用xpath?对于登录按钮,使用id
tdb1
定位元素,并使用
.submit()
方法而不是
。单击()
执行单击操作。如果有任何问题,请告诉我什么是
xpath
?如果id可用,那么您为什么尝试使用xpath?对于登录按钮,使用id
tdb1
定位元素,并使用
.submit()
方法而不是
。单击()
执行单击操作。如果有任何问题,请告诉我:xpaths={'UsernameTbox':“//input[@name='username'],'passwordTxtBox':“//input[@name='password'],'submitButton':“//input[@name='login']”}那么
submitButton
,而不是
loginButton
?那太棒了!工作完美,谢谢你的帮助和时间!!它看起来像这样:xpaths={'usernameTxtBox':“//输入[@name='username'],'passwordTxtBox':“//输入[@name='password'],'submitButton':“//输入[@name='login']”}所以
提交按钮
,而不是
登录按钮
?那太棒了!工作完美,谢谢你的帮助和时间!!