我有一段代码,基本上可以使用actionchains触发浏览器快捷方式。我正在使用Chrome驱动程序2.27,并通过Jupyter笔记本运行python 3.6(尽管这不重要)。问题是,如果代码在创建webdriver实例的同时运行,它就会工作并显示下载栏。
相反,如果我运行代码来创建webdriver,请打开新窗口,最小化它,然后尝试运行代码来触发快捷方式,但它不起作用。我猜这与驱动程序失去焦点有关,因为我手动查看创建的新窗口。
创建webdriver的代码
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
chromedriver= "chromedriver_v2.27.exe"
driver = webdriver.Chrome(chromedriver)
driver.get("https://www.google.com")
触发浏览器快捷方式的代码
ActionChains(driver).key_down(Keys.CONTROL).send_keys('j').key_up(Keys.CONTROL).perform()