我正在尝试在Chromedriver中做一个简单的Control + S
我尝试了webdriver.send_keys(Keys.CONTROL, "s")
没有工作
然后我尝试了
ActionChains(driver).key_down(Keys.LEFT_CONTROL).key_down('s').perform()
仍然无法正常工作。
我还有其他选择吗?当我在chromedriver浏览器中手动按CONTROL + S时,它可以工作。为什么硒不能这样做?
我正在使用Selenium Python。
答案 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
答案 1 :(得分:0)
可能是geckodriver的问题
答案 2 :(得分:-1)
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 version 2.45.0