Python 从web链接获取基于登录按钮的xpath
我正在尝试使用python运行Selenium,我成功地启动了浏览器并输入了用户名和密码,但我无法为登录按钮运行xpathPython 从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 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?对于登录按钮,使用idtdb1
定位元素,并使用.submit()
方法而不是。单击()
执行单击操作。如果有任何问题,请告诉我什么是xpath
?如果id可用,那么您为什么尝试使用xpath?对于登录按钮,使用idtdb1
定位元素,并使用.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']”}所以提交按钮
,而不是登录按钮
?那太棒了!工作完美,谢谢你的帮助和时间!!