#python-2.7 #selenium #pycharm
#python-2.7 #селен #pycharm
Вопрос:
Я запускаю автоматические тесты пользовательского интерфейса и хочу убедиться, что эта кнопка отключена, но я не уверен, как создать локатор для этого элемента :
Источник элемента
<a data-hook="loginbutton"
class="mb-button mb-button--wider mb-button--primary
mb-button--disabled mb-button" tabindex="0">Login</a>
Ранее я использовал data-hook
атрибут для кнопки, но для кнопки есть только один перехват данных, даже если он включен или отключен.
Комментарии:
1. Обновите вопрос с помощью соответствующего HTML, кода проб и ошибок, с которыми вы столкнулись.
2. Пожалуйста, поделитесь полным DOM элемента
3. локатор css
a[data-hook="loginbutton"]
Ответ №1:
Селектор 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. Спасибо RegCent. Я попробую первое предложение, второе предложение не будет работать, поскольку используется один и тот же перехватчик данных, независимо от того, включена или отключена кнопка
2. Хорошо, если это сработает, пожалуйста, отметьте это как ответ, в противном случае дайте мне знать, и я постараюсь придумать что-нибудь еще
Ответ №2:
Это то, что я в итоге сделал —
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")
Ответ №3:
Вы можете использовать этот Xpath для вышеупомянутого элемента. xpath = //a[содержит(text(),’Login’)]