Selenium ActionChains 键命令制定快捷键?

问题描述

我有一个 Python 程序,它使用 APScheduler 和 Selenium 来自动化网页抓取。基本上它每小时抓取一次特定的网站,然后每隔一段时间安排某些更详细的抓取。

问题是,虽然我想启动刮板,然后可以自由地使用我的计算机进行其他工作,但每当 APScheduler 启动新的刮板时,Selenium 将自动关注打开的 chrome 选项卡。因此,我试图找到一种方法来打开新的 chrome 窗口 - 但我不必专注于它们。我已经尝试过 headless 和 phantomJS,但该站点是动态生成的,因此这些都不起作用。

我目前的解决方案是打开新窗口,将其最小化,然后立即切换回旧窗口。为此,我想使用 ActionChains 执行键盘快捷键。我目前有这个测试代码

driver = webdriver.Chrome(ChromeDriverManager().install())
ActionChains(driver).key_down(Keys.CONTROL)
ActionChains(driver).send_keys(Keys.RIGHT)
ActionChains(driver).key_up(Keys.CONTROL)

目前这段代码什么都不做。有没有什么办法解决这一问题?我正在使用 Jupyter Notebook,我使用的是 Mac 以供参考。

注意:此代码与主程序分开运行,我只是用它来测试脚本是否可以工作。

解决方法

试试这个。你永远不会 .perform() 它。

ActualWidth

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...