Selenium python+selenium 在 chrome 上操作键盘按钮无效,求解答!

再见理想 · 2017年06月20日 · 最后由 再见理想 回复于 2017年06月20日 · 2857 次阅读

我想要利用 chrome 的 developer tools 工具获取 H5 页面的响应时间,我的思路是首先打开浏览器,然后按 F12 按钮,然后打开一个页面,然后截图。但是在实施的时候用 selenium 模拟按 F12 这动作的时候 chrome 没有响应,代码执行也没有报错,后来换了火狐浏览器执行代码是可以模拟 F12 的操作的。折腾了好久不知道是什么原因,哪位大神帮忙解答一下,谢谢!
chrome 版本:58.0.3029.110
webdriver 是最新的
模拟按 F12 操作的 Python 代码如下:

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
sleep(3)
builder = ActionChains(driver)
builder.key_down(Keys.F12).perform()
sleep(5)
driver.quit()
共收到 6 条回复 时间 点赞

如果我没记错的话,chromedriver 是不支持使用 dev tool 的。因为使用 dev tool 可能干扰 driver 执行时序。可能你要试试其他方法,比如用按键精灵等操作了。

chromium 的实现,developer tool 和 chromedriver 应该是使用相同的远程调试操作协议的。如果真是这样,则 chromium 内核一次只能接收一个 client(比如 f12,比如 webdriver client session)来交互。所以,只要能确认这点,基本上,用 python 代码开 f12 就不可能了。

cukes 回复

谢谢您的解答,这段代码我是复制别人,他在代码后面贴了个 gif 动画,从动画看,他是可以成功操作按 F12 键。我用相同的代码却不行,很疑惑。

我试了下,使用元素的 send_keys(Keys.F12) 可以弄出来,你那边试试?

5楼 已删除
6楼 已删除
独缺 回复

试了一下,也不行,你的 chrome 是哪个版本的?我怀疑是不是我的版本太高了

找到问题了,是我的 chrome 版本太高了,换到低版本的就可以了

再见理想 关闭了讨论 06月20日 19:07
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册