1

我需要一个按计划登录亚马逊的脚本。我正在尝试用硒自动化它。但是每次我尝试登录亚马逊时都会发送一条带有密码的短信,这很难找回。我需要能够在没有这个额外步骤的情况下做到这一点。我决定使用单独的 chrome 配置文件。但是现在当我运行我的脚本时它会冻结,我Two-Step Verification在控制台中看到没有任何其他错误,我没有看到带有空白标签的 chrome 窗口。只是冻结,然后是这条消息。

这是我的代码。

require_once('vendor/autoload.php');

use Applitools\RectangleSize;
use Applitools\Selenium\Eyes;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\Remote\WebDriverCapabilityType;
use Facebook\WebDriver\WebDriverBy;


$host = 'http://localhost:4444/wd/hub'; // this is the default
$capabilities = \Facebook\WebDriver\Remote\DesiredCapabilities::chrome();


$options = new \Facebook\WebDriver\Chrome\ChromeOptions();
$options->addArguments(array(
    '--headless',
    '--no-sandbox',
    "--disable-extensions",
    '--window-size=1920,1080',
    'user-data-dir=C:\Users\1\AppData\Local\Google\Chrome\User Data\Profile 3',
));
$options->addArguments(["start-maximized"]);
$options->setExperimentalOption("useAutomationExtension", false);
//$options->setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));

$capabilities->setCapability(\Facebook\WebDriver\Chrome\ChromeOptions::CAPABILITY, $options);

$driver = RemoteWebDriver::create($host, $capabilities,1000);
//$driver->manage()->window()->maximize();
sleep(3);
$driver->get("https://sellercentral.amazon.com/");

如果我删除此行 'user-data-dir=C:\Users\1\AppData\Local\Google\Chrome\User Data\Profile 3', ,则一切正常,除了每个会话都是唯一的,我必须检索他们发送的通行证。

我该如何解决Two-Step Verification消息并继续。 在此处输入图像描述

4

0 回答 0