Milonic菜单:元素在点上不可点击。其他元素将收到点击

时间:2016-05-18 22:31:32

标签: python selenium firefox

我正在尝试自动选择Milonic菜单中的项目。我正在使用这样的代码:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By

driver = webdriver.Firefox()
example_menu = driver.find_element_by_id('m_example')
example_menu.click()
# Wait for the "Example Choice" choice to appear
choice_present = expected_conditions.presence_of_element_located((By.LINK_TEXT, 'Example Choice'))
WebDriverWait(driver, 5).until(choice_present)
# Click on "Example Choice"
example_choice = driver.find_element_by_link_text('Example Choice')
example_choice.click()

但是,会引发WebDriverException,并显示如下消息:

Element is not clickable at point (236, 44). Other element would receive the click

1 个答案:

答案 0 :(得分:1)

解决方案是使用ActionChains将鼠标移到菜单条目上,但点击Milonic链接:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Firefox()
example_menu = driver.find_element_by_id('m_example')
example_menu.click()
# Wait for the "Example Choice" choice to appear
choice_present = expected_conditions.presence_of_element_located((By.LINK_TEXT, 'Example Choice'))
WebDriverWait(driver, 5).until(choice_present)
# Use an action chain to move to the "Example Choice" but click on the
# Milonic menu link
example_choice = driver.find_element_by_link_text('Example Choice')
mmlink1 = driver.find_element_by_id('mmlink1')
action_chain = ActionChains(driver)
action_chain.move_to_element(example_choice)
action_chain.click(mmlink1)
action_chain.perform()