#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, но я не совсем понимаю, так ли это до сих пор.