加载浏览器页面后,我希望使用Goggle Chrome中的CRTL P快捷键进入打印页面,然后只需按返回即可打印页面.
import time from selenium import webdriver # Initialise the webdriver chromeOps=webdriver.ChromeOptions() chromeOps._binary_location = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" chromeOps._arguments = ["--enable-internal-flash"] browser = webdriver.Chrome("C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe",port=4445,chrome_options=chromeOps) time.sleep(3) # Login to Webpage browser.get('www.webpage.com')
我的问题是如何将密钥发送到浏览器本身而不是元素?
尝试失败:将html主体指定为元素并将密钥发送给 –
elem = browser.find_element_by_xpath("/html/body") # href link elem.send_keys(Keys.CONTROL + "P") # Will open a second tab time.sleep(3) elem.send_keys(Keys.RETURN)
解决方法
from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys ActionChains(browser).send_keys(Keys.CONTROL,"p").perform()
这将发送打印对话框的键盘快捷方式
我没有找到一种方法在FF中进行打印但是 – ctrl p将打开打印对话框,但FF有一个焦点错误,不允许人们为对话框本身做Keys.ENTER
希望这对你在Chrome中有用,我还没有在那里测试过
如果你找到解决方法,请更新 – 可能尝试AutoIt
如果以上都不起作用,你可以随时做
browser.get_screenshot_as_file( path + 'page_image.jpg' )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。