如何为此元素编写定位符

时间:2019-04-15 09:26:28

标签: python-2.7 selenium pycharm

我正在运行自动化的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属性,但是即使启用或禁用了按钮,也只有一个数据钩。

3 个答案:

答案 0 :(得分:0)

我认为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"])

第一个基本上是使用类,因此它可以更短,取决于元素类在网络中的独特性

答案 1 :(得分:0)

这就是我最终要做的-

    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")

答案 2 :(得分:0)

您可以将此Xpath用于上述元素。 xpath = // a [包含(text(),'登录')]