我需要一个按计划登录亚马逊的脚本。我正在尝试用硒自动化它。但是每次我尝试登录亚马逊时都会发送一条带有密码的短信,这很难找回。我需要能够在没有这个额外步骤的情况下做到这一点。我决定使用单独的 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',
,则一切正常,除了每个会话都是唯一的,我必须检索他们发送的通行证。