首页 > 解决方案 > 获取 Facebook 数字 ID WebDriver PHP

问题描述

我试图在不使用 cookie 或不登录的情况下获取 Facebook 用户数字 ID。我很容易在我的 Windows 系统中成功,这意味着此代码在 Windows 中工作,但 Ubuntu firefox 以不同方式显示页面就像 Windows 浏览器向我显示个人资料图像和所有其他公共事物,但在 Linux ubuntu 中显示登录页面。所以我想知道有没有办法在 Linux 系统中使用公共信息来加载用户页面。

这就是我在 Windows 系统中得到的 - 图像

我在 linux ubuntu 18 中得到了这个

两者都安装了 Firefox 89。

$host = 'http://localhost:4444';

$desiredCapabilities = DesiredCapabilities::firefox();

// Disable accepting SSL certificates
$desiredCapabilities->setCapability('acceptSslCerts', false);

// Add arguments via FirefoxOptions to start headless firefox
$firefoxOptions = new FirefoxOptions();
$firefoxOptions->addArguments(['-headless']);
$desiredCapabilities->setCapability(FirefoxOptions::CAPABILITY, $firefoxOptions);

$driver = RemoteWebDriver::create($host, $desiredCapabilities);

 $driver->get('https://mbasic.facebook.com/mohd.xxxxxxx/');

$driver->wait()->until(
    WebDriverExpectedCondition::titleContains('Facebook')
);

echo $html = $driver->getPageSource();

标签: phpseleniumfirefoxubuntu-18.04

解决方案


推荐阅读