Selenium:Python ActionChains无效

1 投票
2 回答
4062 浏览
提问于 2025-04-18 16:38

我正在尝试在Chromedriver中实现简单的控制 + S操作。

我试过用 webdriver.send_keys(Keys.CONTROL, "s"),但没有成功。

然后我又试了

ActionChains(driver).key_down(Keys.LEFT_CONTROL).key_down('s').perform()

但还是不行。

我还有什么其他的选择呢?当我在Chromedriver浏览器中手动按控制 + S时,它是有效的。为什么Selenium做不到这一点呢?

我正在使用Selenium的Python版本。

2 个回答

-4
from selenium.webdriver.common.keys import Keys
from selenium import webdriver

driver = webdriver.Firefox()
driver.get("Https://www.google.com")
body = driver.find_element_by_tag_name('body')
body.send_keys(Keys.CONTROL, "s")

上面的代码在我使用Windows和Firefox的时候是可以正常工作的。请确保你使用的是最新版本的Selenium,版本2.45.0

3

将按键发送到 Body 元素:

from selenium.webdriver.common.keys import Keys

body = driver.find_element_by_tag_name('body')
body.send_keys(Keys.CONTROL, "s")  # on Mac: body.send_keys(Keys.COMMAND, "s")

或者,可以通过这种方式获取实际的 HTML 源代码:

html = driver.find_element_by_xpath("//*").get_attribute("outerHTML")
print html

撰写回答