我一直在尝试通过堆栈溢出帖子解决此问题,但找不到任何与我的问题相关的主题。
我正在创建一个自动 python 脚本,它将自动登录到我的 facebook 帐户并利用 facebook 提供的一些功能。
当我使用 selenium 时,我通常让程序在 Chrome 浏览器上运行,我使用如下代码
driver = webdriver.Chrome()
然后我从那里编写我想做的其余事情,因为很容易直观地看到程序的进展情况。然而,当我切换到 PhantomJS 浏览器时,该程序在网站的移动版本中运行 Facebook(如 Facebook 的 android/ios 版本)。这是它的外观示例
我想知道是否有人能够帮助我尝试了解如何将其转换为桌面模式,因为 Facebook 的移动版本与桌面版本的编码不同,我不想重做代码这个区别。我需要在 PhantomJS 上运行它,因为它将在几乎无法打开谷歌浏览器的低功率树莓派设备上运行。
我还尝试了以下方法以查看它是否有效,但没有帮助。
headers = { 'Accept':'*/*',
'Accept-Encoding':'gzip, deflate, sdch',
'Accept-Language':'en-US,en;q=0.8',
'Cache-Control':'max-age=0',
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36'
}
driver = webdriver.PhantomJS(desired_capabilities = headers)
driver.set_window_size(1366, 768)
任何帮助将不胜感激!!
最佳答案
我在使用 PhantomJS Selenium 和 Python 时遇到了同样的问题,下一个代码解决了它。
from selenium import webdriver
from selenium.webdriver import DesiredCapabilities
desired_capabilities = DesiredCapabilities.PHANTOMJS.copy()
desired_capabilities['phantomjs.page.customHeaders.User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) ' \
'AppleWebKit/537.36 (KHTML, like Gecko) ' \
'Chrome/39.0.2171.95 Safari/537.36'
driver = webdriver.PhantomJS('./phantom/bin/phantomjs.exe', desired_capabilities=desired_capabilities)
driver.get('http://facebook.com')
关于python - 无法在桌面模式下打开 PhantomJS 网页(始终在移动模式下),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44765914/