有一种特殊的方法可以使用下一个命令从GhostDriver执行PhantomJS脚本:
POST /session/id/phantom/execute
看看这个例子:
def execute(script, args):
driver.execute('executePhantomScript', {'script': script, 'args' : args })
driver = webdriver.PhantomJS('phantomjs')
# hack while the python interface lags
driver.command_executor._commands['executePhantomScript'] = ('POST', '/session/$sessionId/phantom/execute')
driver.get('http://stackoverflow.com')
# set page format
# inside the execution script, webpage is "this"
pageFormat = '''this.paperSize = {format: "A4", orientation: "portrait" };'''
execute(pageFormat, [])
# render current page
render = '''this.render("test.pdf")'''
execute(render, [])
请注意,在OS X PhantomJS renders web page as images中,由于OS X中Qt渲染引擎的限制(至少使用PhantomJS v.1.9.8及更早版本),因此文本不可选 .