У меня есть элемент, который требует действия double_click().perform()
. Он отлично работает в Firefox, но не в Chrome. Один клик отображает меню, но двойной щелчок приведет вас в каталог. Вот мой питон/селен шаг:Двойной щелчок работает в Firefox, но не хром (Python/Selenium)
(webdriver.ActionChains(self.browser)).double_click(self.browser.find_element_by_id('nav-link-shopall')).perform()
Сообщение об ошибке возвращает этот текст, я хотел проверить, существует не существует. Это верно, если double_click().perform()
не выполняет свою работу.
Я использую Python 2.7.8 и Selenium 2.45.0.
Я использую Amazon.com в качестве примера, потому что поведение такое же, как и проприетарный код, который я тестирую. Так вот HTML код, который я пытаюсь нажать:
<div class="nav-left">
<div id="nav-shop">
<a href="/gp/site-directory/ref=nav_shopall_btn" class="nav-a nav-a-2" data-nav-tabindex="15" id="nav-link-shopall" tabindex="1">
<span class="nav-line-1">Shop by</span>
<span class="nav-line-2">"Department"
<span class="nav-icon nav-arrow" style="visibility:visible;"></span>
</span>
</a>
</div>
</div>
Нет, все еще не работает. Он по-прежнему работает в Firefox, но по какой-то причине он не выполняет «double_click (variable)» в Chrome. Я могу добавить, что Traceback просто говорит «NoSuchElementException: Сообщение: нет такого элемента», пытаясь утверждать, что присутствует следующий элемент. Нет ошибок для этого конкретного действия. – Brenda
Попробуйте добавить к нему метод build(). –
Мне кажется, что я собираюсь задать немой вопрос, но что из '' 'import' вы используете для build()? – Brenda