双击适用于Firefox但不适用于chrome(Python / Selenium)

时间:2015-03-24 19:31:10

标签: python google-chrome selenium

我有一个需要double_click().perform()操作的元素。它在Firefox中很有用,但在Chrome中却不行。单击即可显示一个菜单,但双击可将您带到目录。这是我的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>

1 个答案:

答案 0 :(得分:2)

试试这个:

variable =  self.browser.find_element_by_id('nav-link-shopall')
actions = ActionChains(driver)
actions.move_to_element(variable)
actions.double_click(variable)
actions.perform()

你应该使用move to element。