使用Selenium浏览器自动启用Adboe flash player

爬虫爱好者再爬取一些特殊的页面的时候,难免会需要使用selenium来模拟人的操作。

selenium可以操作多种浏览器

有的网站上的数据需要使用flash player才能加载出来(比如百度地图)

首先你需要确保你已经正确安装flash play了,然后,你有两个方法可以解决这个问题:

  • 手动进入浏览器的设置,打开flash play插件
  • 在程序中设置flash play默认位打开的状态

对于Firefox而言:首先是打开火狐浏览器,在火狐浏览器的右上角会有一个菜单按钮选项,点击打开菜单。打开浏览器,在右上角会有一个“打开菜单”选项

然后点击Add-ons(中文系统中是:附件组件)你也可以按快捷键Ctrl+Shift+A进入,然后点击PLugins,选择Shock Flash将右侧的选项选择为Always Activate

这样做的后果就是,每次你启动selenium打开Firefox浏览器,都需要这么设置一遍。

你可以在你的程序里进行设置,让flash player默认启动

from selenium import webdriver

option = webdriver.FirefoxProfile()
# 其中plugin.state.flash后的数值可以为0,1,2; 0:禁止,1:询问,2:允许。
option.set_preference('plugin.state.flash', 2)
driver = webdriver.Firefox(option)
driver.get(url)

我还在网上找到了Chrome浏览器面临同样问题的解决方法:链接

其实,不只是flash player可以在程序中进行默认设置,selenium使用浏览器下载时,文件存储的路径以及其他的一些默认选项也可以进行设置。当然,还有很多方面可以进行默认的设置,减少不必要的人工点击设置操作。

The End


已发布

分类

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注