Эм, я чуть опоздал с ответом. :D
А можно решение для тех, кто в танке?
Если есть элемент
((JavascriptExecutor)driver).executeScript("arguments[0].click()", linkAddVehicles);
спасибо! Супер, то что надо :)
hi, подскажите плз, все о том же action chains, упомянутом выше by furiousduck
нужно сделать ховер по элементу, после перехода на другую страницу
- пишу хпас верно (на другой странице он не изменяется, элем. кликабельный по этому хпасу, а ховер не могу)
- элемент для ховера указываю после клика и паузы
трохи коду:
female_menu.click()
wait.until(lambda self: self.find_element_by_xpath("//div[@class=‘row’]/div[@class=‘column_item column_3’]/a").is_displayed())
third_campaign = driver.find_element_by_xpath("//div[@class=‘row’]/div[@class=‘column_item column_3’]/a")
action.move_to_element(third_campaign)
action.perform()
такой меседж:
selenium.common.exceptions.StaleElementReferenceException: Message: Element not found in the cache - perhaps the page has changed since it was looked up
че он морозится?
и есть ли какой нибудь другой способ сделать красивый ховер на python кроме action chains
после перехода на другую страницу сделайте опять third_campaign = driver.find_element_by_xpath("//div[@class=‘row’]/div[@class=‘column_item column_3’]/a") и дальше уже с этим работайте на этой странице
так я сделал third_campaign
сразу после
судя из этого я понял что ваш тест переходит на другие страницы но использует переменную которую определил в начале(на стартовой). такую проблему я решал переопределением переменной каждый раз на текущей странице(по ходу теста) даже если локатор был тот же.
еще раз, я выбираю элемент после перехода на страницу, xpath правильный, что хочет webdriver?
Возможно, тут third_campaign подтягивается первый, попробуйте каждый раз на новой странице определять разные переменные (например third_campaign_pagename) и на текущей юзать его action.move_to_element(third_campaign_pagename)
Спасибо, проблема жешена, уходила далеко корнями в использование переменных из других модулей
Привет , нужна Ваша помощь ребзи
https://www.refheap.com/107485
учусь писать автотесты через библиотеку селенидов/джюнит
не могу разобраться с css селекторами
проблема в том , что кнопка которую мне нужно нажать $(“#todo-list li:nth-of-type(2) .destroy”).click(); появляется только когда на нее наводишь , в intellij IDEA тест не проходит на этом этапе, подскажите как сделать ее видимой )
Пробовал уже $(“#todo-list li:nth-of-type(2) .destroy”).shouldBe(visible).click();
без этой строки тест проходит на ура Screenshot by Lightshot
а вот ошибка Screenshot by Lightshot
Если вы используете Selenide, вам следует добавить событие hover():
$("#todo-list li:nth-of-type(2) .destroy").hover().click()
спасибо
Для “спасибо” есть спец. кнопка на панели.
походу оно так работать не будет ,
$("#todo-list li:nth-of-type(2)").hover().$(".destroy").click(); – не уверен что так , ну вроде должно заработать
При таком запросе, вы:
- с начало найдете элемент
$("#todo-list li:nth-of-type(2)")
- затем наведется указатель мыши и сработает событие
hover
- найдется элемент
$(".destroy")
и сработает клик
Если это соответсвует вашей html верстке - то окей. Лучше конечно разбить их на две строчки:
$("#todo-list li:nth-of-type(2)").hover();
$(".destroy").shoudBe(visible).click() - тут мы немного подождем пока отрисовывается окошко при событии hover