Javascript 在PhantomJS和Python中伪造Flash插件信息
我是幻影的新手。我通过SeleniumWebDriver使用phantomjs,python作为我的语言。我想伪造我的flash插件信息,这是非常明显的使用javascript 我想使用SeleniumWebDriver在Python中做类似的事情(用javascript完成)Javascript 在PhantomJS和Python中伪造Flash插件信息,javascript,python,selenium,phantomjs,navigator,Javascript,Python,Selenium,Phantomjs,Navigator,我是幻影的新手。我通过SeleniumWebDriver使用phantomjs,python作为我的语言。我想伪造我的flash插件信息,这是非常明显的使用javascript 我想使用SeleniumWebDriver在Python中做类似的事情(用javascript完成) page.onInitialized = function () { page.evaluate(function () { (function () { window.navigator.plu
page.onInitialized = function () {
page.evaluate(function () {
(function () {
window.navigator.plugins = {
'length': 1,
'Shockwave Flash': {
'description':'fakeflash'
}
};
})();
});
};
我不知道如何在Python中实现page.onInitialized和其他函数(使用SeleniumWebDriver)
任何帮助都将不胜感激。就我个人而言,我也找不到办法让它工作,所以我转而通过selenium webdriver使用Firefox,并将gnash安装为flash插件。我知道这并不是你想要的,但它最终确实有你想要的效果,只要你有系统内存来支持它
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Firefox()
browser.get(url)
print browser.page_source
browser.quit()
display.stop()
或者为了更安全(并且永远不要留下讨厌的Xvfb和firefox进程!):
我想也可以在虚拟显示器中使用Chrome。如果有人真的为我们分享了让webdriver.PhantomJS在flashfaker中预加载的魔力,我很乐意切换,因为它的系统资源需求要少得多
from pyvirtualdisplay import Display
from selenium import webdriver
try:
display = Display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Firefox()
browser.get(url)
print browser.page_source
finally:
if browser:
browser.quit()
if display:
display.stop()