Перейти к содержимому

Подготовка к сертификации ISTQB FL
онлайн, начало 10 августа
Тестирование REST API
онлайн, начало 10 августа
Программирование на Python для тестировщиков
онлайн, начало 14 августа
Тестирование без требований
онлайн, начало 17 августа
Фотография

webdriver + python. click не работает


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 Choson

Choson

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Игорь

Отправлено 01 ноября 2019 - 13:29

День добрый!

Метод click не всегда работает. пробовал через хром и фокс.

При авторизации на сайте click сработал. теперь хочу лог-аут сделать - сопротивляется.

При этом сделал запись и запустил через selenium IDE - все сработало.

out_button = driver.find_element_by_css_selector('.user-menu_dropdown')
out_button.click
time.sleep(5)

селектор совпадает с тем что в IDE записано, ошибок не дает.

что не так в этих двух строчках?

 

Да, 5 сек задержки для того, чтобы успеть увидеть нажатие на кнопку (должно развернуться меню)


  • 0

#2 Choson

Choson

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Игорь

Отправлено 05 ноября 2019 - 12:05

Попробовал на странице яндекса нажать на кнопку. тоже не нажимается.

 

from selenium import webdriver
import time
driver = webdriver.Chrome()
# driver = webdriver.Firefox()
driver.fullscreen_window()
driver.get('https://yandex.ru/')
time.sleep(2)
str_str = driver.find_element_by_css_selector('input#text.input__control.input__input')
str_str.send_keys('python selenium')
button1 = driver.find_element_by_css_selector('div.search2__button')
button1.click
time.sleep(5)
driver.close()

 

текст в поисковой строке вводится, но поиск не запускается. Может кто подскажет!


  • 0

#3 Choson

Choson

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Игорь

Отправлено 05 ноября 2019 - 12:55

Проблему решил, но вопрос остался. Может кто подскажет?

Если комунить интересно:

в первом примере заменить out_button.click 

на webdriver.ActionChains(driver).move_to_element(out_button).click(out_button).perform()

На странице яндекса аналогично: button1.click

поменять на webdriver.ActionChains(driver).move_to_element(button1).click(button1).perform()


  • 0

#4 Roman666

Roman666

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Роман

Отправлено 05 ноября 2019 - 12:59

Может быть у вас некорректный селектор? Вот пример с кнопкой на яндексе http://prntscr.com/psqj9d


  • 0

#5 Choson

Choson

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Игорь

Отправлено 05 ноября 2019 - 13:25

Видимо я последний пост не ясно изложил. Проблему я решил и написал, каким образом.

Поиск селекторов не менял. на яндексе так и остался str_str = driver.find_element_by_css_selector('input#text.input__control.input__input')

поменял способ нажатия на элемент. если просто нажать на элемент - ничего; если сместить мышку на элемент, а потом нажать на него - все работает.\

Соответственно вопрос - почему?


  • 0

#6 Mafroz

Mafroz

    Новый участник

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Засецкий Максим Юльевич

Отправлено 12 ноября 2019 - 14:24

Видимо я последний пост не ясно изложил. Проблему я решил и написал, каким образом.

Поиск селекторов не менял. на яндексе так и остался str_str = driver.find_element_by_css_selector('input#text.input__control.input__input')

поменял способ нажатия на элемент. если просто нажать на элемент - ничего; если сместить мышку на элемент, а потом нажать на него - все работает.\

Соответственно вопрос - почему?

Сразу что бросается в глаза, что метод click вызывается без (), возможно в этом проблема. Т.е.

out_button = driver.find_element_by_css_selector('.user-menu_dropdown')
out_button.click()
time.sleep(5)

  • 0

#7 Choson

Choson

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Игорь

Отправлено 13 ноября 2019 - 13:21

Точно! Спасибо!


  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале