如何为 Selenium 中的按钮提供“driver.find_element”

问题描述 投票:0回答:2

我是 Selenium 和 Python 的初学者,正在编写第一个代码来登录指定网站,但被按钮部分卡住了,不知道如何为下面的按钮代码提供 XPath。

<button class="js-tfaLoginButton Button Button--pill Button--action Loadable u-marginBottomStandard u-size1of2 u-cursorPointer u-outlineNone" type="submit" data-qa="submit_login">
    Sign In
</button>

尝试了以下 XPath 但不起作用:

/button[@class="js-tfaLoginButton Button Button--pill Button--action Loadable u-marginBottomStandard u-size1of2 u-cursorPointer u-outlineNone"]@class

或者除了XPath还有其他方法吗?

谢谢你。

python-3.x selenium selenium-webdriver
2个回答
1
投票

正确的 XPath 是:

//button[@class="js-tfaLoginButton Button Button--pill Button--action Loadable u-marginBottomStandard u-size1of2 u-cursorPointer u-outlineNone"]

希望对您有帮助!


1
投票

我们有以下几种方式来识别浏览器中的元素

ID = "id"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
NAME = "name"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"

除上述定位元素的方法外。我们可以使用标签内存在的标签名或值(文本),如下所示:

X路径:

driver.find_elements(By.XPATH, '//button[contains(text(), "Sign In"]')

driver.find_element(By.XPATH, '//button[text()="Sign In"]')

TAG_NAME:

driver.find_elements(By.TAG_NAME, '//button')

© www.soinside.com 2019 - 2024. All rights reserved.