我正在运行自动UI测试,并希望验证此按钮是否已禁用,但我不确定如何为此元素创建定位器:
元素来源
<a data-hook="loginbutton"
class="mb-button mb-button--wider mb-button--primary
mb-button--disabled mb-button" tabindex="0">Login</a>
我之前使用了data-hook
属性作为按钮,但即使启用或禁用按钮,按钮也只有一个数据挂钩。
CSS选择器是我认为你可以使用的最佳选择:
find_element_by_css_selector(a[".mb-button.mb-button--wider.mb-button--primary.mb-button--disabled.mb-button"])
或这个:
find_element_by_css_selector(a[data-hook="loginbutton"])
第一个基本上是使用类,因此它可以更短,取决于元素的类在Web中的独特性
这就是我最终做的 -
def login_button_disabled(self):
self.login_button_disabled = self.browser.find_element_by_class_name("mb-button--disabled")
if self.login_button_disabled.is_displayed():
print("Login Button Disabled")
else:
print("Login Button Enabled")
您可以将此Xpath用于上述元素。 xpath = // a [contains(text(),'Login')]