我试图用鼠标右键单击并单击在selenium python中保存为图像。我能够执行右键单击与follwing方法,但下一个行动,以执行右键单击不工作了。我该如何解决这个问题?
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
driver.get(url)
# get the image source
img = driver.find_element_by_xpath('//img')
actionChains = ActionChains(driver)
actionChains.context_click(img).send_keys(Keys.ARROW_DOWN).send_keys(Keys.ARROW_DOWN).send_keys(Keys.RETURN).perform()
3条答案
按热度按时间rt4zxlrg1#
问题是send_keys()方法在创建了上下文菜单之后,将键发送到窗口,而不是菜单。因此,无法访问菜单项。
我在下载网页中创建的画布时遇到了类似的问题。最后,我能够下载执行JavaScript的图像。我创建了一个下载元素来管理图像。由于它是一个画布,我之前必须执行toDataURL方法。下面是我的Python代码:
我希望它可以帮助!
k10s72fa2#
你可以使用pyautogui来实现同样的功能。假设您使用的是Windows。-->pyautogui.position()(187,567)#打印当前光标位置
-->pyautogui.moveTo(100,200)#移动到需要右击的位置。
--> pyautogui.click(button='right')
-->pyautogui.hotkey('ctrl','c')-键盘中的Ctrl+C(复制快捷方式)
有关https://pyautogui.readthedocs.io/en/latest/keyboard.html的更多信息,请参阅以下链接
jgzswidk3#
您必须首先移动到要执行上下文单击的元素