我有这个Selenium代码,应该点击一个尺寸选择按钮。
submit_button = driver.find_element_by_class_name('pro_sku')
elementList = submit_button.find_elements_by_tag_name("a")
elementList[3].click()
它适用于其他页面但现在在一个页面上我收到此错误:
selenium.common.exceptions.WebDriverException: Message: unknown error: Element is not clickable at point (663, 469). Other element would receive the click:
我不明白,因为我可以查看Selenium打开的浏览器窗口,我通常可以点击这些按钮。
我该如何解决这个问题?
有人要求提供该网站。这是:http://de.sinobiological.com/GM-CSF-CSF2-Protein-g-19491.html
答案 0 :(得分:3)
您可以使用Xpath进行元素选择,然后使用以下方法
# Click on Element
def element_click(self, xpath):
xpath = re.sub('"', "'", xpath)
browser.execute_script("""
var elements = document.evaluate("%s",
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
var im = elements.snapshotItem(0);
im.click();
""" %(xpath)
)
因此,如果您的x路径是正确的并且DOM上存在项目,那么它肯定会被点击。
快乐编码
答案 1 :(得分:1)
请尝试以下方法: -
driver.execute_script("arguments[0].click();", elementList[3])
希望它会对你有所帮助:)。
答案 2 :(得分:1)
您可以使用action_chains来模拟鼠标移动
actions = ActionChains(driver)
actions.move_to_element(elementList[3]).perform()
elementList[3].click()
修改
<a>
代码不是实际尺寸。尝试
sizes = driver.find_elements_by_class_name('size_defaut')
sizes[3].click()