강희명*_*강희명 5 python selenium web-crawler
我正在尝试用鼠标右键单击,然后单击“在 selenium python 中另存为图像”。我能够使用以下方法执行右键单击,但是执行右键单击的下一个操作不再起作用。我怎么解决这个问题?
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()
Run Code Online (Sandbox Code Playgroud)
小智 5
问题是 send_keys() 方法在创建上下文菜单后将键发送到窗口,而不是菜单。因此,无法访问菜单项。
下载在网页中创建的画布时,我遇到了类似的问题。最后,我能够下载执行 JavaScript 的图像。我创建了一个下载元素来管理图像。由于它是画布,我之前必须执行 toDataURL 方法。这是我的Python代码:
script_js = 'var dataURL = document.getElementsByClassName("_cx6")[0].toDataURL("image/png");' \
'var link = document.createElement("a"); ' \
'link.download = "{}_{}";' \
'link.href = dataURL;' \
'document.body.appendChild(link);' \
'link.click();' \
'document.body.removeChild(link);' \
'delete link;'.format( n, prefijo_nombre_archivo, sufijo_nombre_archivo )
driver.execute_script(script_js)
Run Code Online (Sandbox Code Playgroud)
我希望它能有所帮助!
| 归档时间: |
|
| 查看次数: |
19336 次 |
| 最近记录: |