PHP использует файлы cookie с selenium

#php #selenium #google-chrome #two-step-verification

#php #selenium #google-chrome #двухэтапная проверка

Вопрос:

мне нужен скрипт, который входит в Amazon по расписанию. Я пытаюсь автоматизировать это с помощью selenium. Но каждый раз, когда я пытаюсь войти в систему, amazon отправляет sms с паролем, который трудно восстановить. Мне нужно иметь возможность делать это без этого дополнительного шага. я решил использовать отдельный профиль chrome. но теперь, когда я запускаю свой скрипт, он зависает, и я вижу Two-Step Verification в своей консоли без каких-либо других ошибок, кроме того, я не вижу окна Chrome с пустой вкладкой. просто зависание, а затем это сообщение.

Вот мой код.

 require_once('vendor/autoload.php');

use ApplitoolsRectangleSize;
use ApplitoolsSeleniumEyes;
use FacebookWebDriverRemoteRemoteWebDriver;
use FacebookWebDriverRemoteWebDriverCapabilityType;
use FacebookWebDriverWebDriverBy;


$host = 'http://localhost:4444/wd/hub'; // this is the default
$capabilities = FacebookWebDriverRemoteDesiredCapabilities::chrome();


$options = new FacebookWebDriverChromeChromeOptions();
$options->addArguments(array(
    '--headless',
    '--no-sandbox',
    "--disable-extensions",
    '--window-size=1920,1080',
    'user-data-dir=C:Users1AppDataLocalGoogleChromeUser DataProfile 3',
));
$options->addArguments(["start-maximized"]);
$options->setExperimentalOption("useAutomationExtension", false);
//$options->setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));

$capabilities->setCapability(FacebookWebDriverChromeChromeOptions::CAPABILITY, $options);

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

Если я удалю эту строку
'user-data-dir=C:Users1AppDataLocalGoogleChromeUser DataProfile 3',
все работает нормально, за исключением того, что каждый сеанс уникален, и я должен повторно получить отправленный ими проход.

Как я могу решить Two-Step Verification сообщение и продолжить. введите описание изображения здесь

Комментарии:

1. отключение 2-шаговой проверки здесь кажется хорошим планом … или используйте учетную запись Google Voice и автоматизируйте получение SMS.

2. @pcalkins для этого профиля нет учетной записи Google. Но я подписал один и отключил 2-ступенчатую проверку. Это ничего не изменило

3. вы отключили 2-шаговую проверку при входе в систему Amazon, и она по-прежнему отправляет SMS для входа в систему?

4. Нет, я сделал это для chrome. Это проблема, которую я пытаюсь решить. Если это не сработает, я отключу это для Amazon. Но моя проблема, похоже, связана с доступом к данным на моем компьютере.

5. ах, хорошо, я думал, вы каждый раз вводите свое имя / пароль. Если вы хотите сохранить логин, вам нужно будет использовать профиль, в который уже был выполнен вход с установленным флажком «запомнить меня» (вручную). Сеанс всегда будет новым… но это нормально, если «запомнить меня» сохраняет ваши учетные данные для входа. (Вы будете повторно авторизованы с помощью файла cookie remember me.) Раньше вы могли использовать разные профили и их сохраненные файлы cookie, но я не совсем понимаю, так ли это до сих пор.