saw_tooth
(Goshko Nazar)
September 7, 2015, 5:14pm
#1
Пытаюсь жмакать на кнопочку:
HTML - Clip2Net — screen capture tool for Windows, Android, iPad, Mac, Linux
Python:
def select_tab(self, num_tab):
tabs_list = ["li:nth-child(1) > a",
"li:nth-child(2) > a",
"li:nth-child(3) > a"]
tab_but = WebDriverWait(self.driver, 5).until(ec.presence_of_element_located((By.XPATH, "//li[2]/a")))
tab_but.click()
self.selected_tab = num_tab
if num_tab == 1:
page = Profile(self.driver,self.base_url)
return page
elif num_tab == 2:
page = Password(self.driver,self.base_url)
return page
elif num_tab == 3:
page = Enrollments(self.driver,self.base_url)
return page
Если ищу элемент на присутствие - падаю в click() - элемент невидим
Если проверяю на видимость - падаю с тайм-аутом.
Элемент виден, элемент жмакается мышкой
Каковы идеи?
ЗЫ. Action пробовал - тоже самое.
ЗЫЫ. Куда делся bb-code для вставки кода?
возможно это “глюки” фаерфокса и несоответствующей версии seleniuma. я обновила селениум и как-то получше стало. может конечно не в этом, другие люди откоментят.
polusok
(Mykhailo Poliarush)
September 7, 2015, 8:54pm
#3
st_eremin
(Stan)
September 7, 2015, 9:28pm
#4
А другие варианты клика пробовали? Если падает конкретно на клике то можно попробовать кликнуть, например, с помощью жс-а.
saw_tooth
(Goshko Nazar)
September 8, 2015, 8:06am
#5
версия хром, до файрфокса не дошел пока.
saw_tooth
(Goshko Nazar)
September 8, 2015, 8:06am
#6
я уже пробовал все вещички из expected_conditions
saw_tooth
(Goshko Nazar)
September 8, 2015, 8:07am
#7
В кликах падаю - not visible element, а как джсом тапнуть по нему?
st_eremin
(Stan)
September 8, 2015, 8:16am
#8
browser.execute_script('arguments[0].click();', element)
saw_tooth
(Goshko Nazar)
September 8, 2015, 8:19am
#9
а…оу, ка кто не сообразил) спасибо попробую
st_eremin
(Stan)
September 8, 2015, 9:18am
#11
а есть пример страницы в вебе где это можно попробовать? гадать на кофейной гущи самое дурацкре что тут можно делать Может быть получится скопировать часть html и css и выложить на те же гитхаб пейджес или еще куда?
saw_tooth
(Goshko Nazar)
September 8, 2015, 9:23am
#12
Пример на скрине приложен.
Очень интересную штуку я получил
при попытке (см. код) вызвать метод is_visible() я получаю ошибку:
self = <pages.HomePage.My_Profile object at 0x03CFDF30>, num_tab = 2
def select_tab(self, num_tab):
tabs_list = ["li:nth-child(1) > a",
"li:nth-child(2) > a",
"li:nth-child(3) > a"]
tab_but = WebDriverWait(self.driver, 5).until(ec.presence_of_element_located((By.XPATH, "//li[2]/a")))
> print(self.driver.is_visible(tab_but))
E AttributeError: 'WebDriver' object has no attribute 'is_visible'
:335: AttributeError
saw_tooth
(Goshko Nazar)
September 8, 2015, 9:38am
#13
Побеждено.
Причина - слишком умный автотестер.
Решение - более длинный локатор к родителю.
всем ответевшим спасибо.