我有一个帐户菜单。当我们将鼠标放在它上面时,它的子菜单会出现在屏幕上。 屏幕截图如下。
我想点击“帐户摘要”。我的硒代码如下。
def test_accounts(self):
self.login(self.driver,properties.userid,properties.password)
element_to_hover=self.driver.find_element_by_link_text('Accounts')
hover=ActionChains(self.driver).move_to_element(element_to_hover)
hover.click().perform()
self.driver.implicitly_wait(10)
self.driver.find_element_by_link_text('Account Summary').click()
我收到以下错误。
test_accounts (__main__.TestCase) ... ERROR
======================================================================
ERROR: test_accounts (__main__.TestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\New Workspace\Python Test\src\login.py", line 78, in test_accounts
self.driver.find_element_by_link_text('Account Summary').click()
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 51, in click
self._execute(Command.CLICK_ELEMENT)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 225, in _execute
return self._parent.execute(command, params)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 160, in execute
self.error_handler.check_response(response)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 149, in check_response
raise exception_class(message, screen, stacktrace)
MoveTargetOutOfBoundsException: Message: ''
----------------------------------------------------------------------
Ran 1 test in 24.563s
FAILED (errors=1)
我在SO和其他人中尝试了很多链接,但无法找到解决我问题的方法。 由于我是Selenium的新手,这是正确的方式到鼠标悬停链接并转到其隐藏的子元素?
我正在使用python 2.7。 任何帮助将不胜感激
答案 0 :(得分:2)
这是你点击元素的方式:
accounts_button = driver.find_element_by_link_text('Accounts')
hidden_button = browser.find_element_by_id(hidden_button)
ActionChains(driver).move_to_element(accounts_button).click(hidden_button).perform()
正如您所看到的那样,请删除代码的最后两行。
答案 1 :(得分:0)
我认为事件的继承应该是: 移至元素帐户 - >移至元素帐户摘要 - >点击元素 - >执行