#python #selenium #webdriver #selenium-chromedriver
#питон #селен #веб-драйвер #селен-хромовый преобразователь
Вопрос:
1. Первый случай
Это мой скрипт, я хочу войти в Google с помощью selenium.
## ...
driver.get("https://www.smile.one/customer/account/login")
time.sleep(10)
driver.find_element_by_name('identifier').send_keys(email Keys.RETURN)
time.sleep(5)
driver.find_element_by_name('password').send_keys(mantra Keys.RETURN)
## ...
Приведенный выше сценарий работает правильно, когда я пробовал на своем ноутбуке. Поле идентификатора заполнено «exampleemail24», а пароль заполнен «example24».
Однако приведенный выше сценарий не работает, когда я использую его на VPS (AWS EC2 t3.small 2vCPU 2GB RAM). Поля идентификатора правильно заполнены «exampleemail24», но пароль заполнен «example».
2. Второй случай
Я попробовал в другой форме, но столкнулся с той же проблемой. Это мой сценарий.
time.sleep(3) userid_form = driver.find_element_by_id('museid')
serverid_form = driver.find_element_by_id('mserverid')
userid_form.send_keys(data['user_id'])
serverid_form.send_keys(data['server_id'] Keys.SHIFT, Keys.TAB)
Это форма.
<form id="mpay" action="/merchant/pay" method="post">
<div class="sectionId-bor">
<input type="tel" class="sectionId-input" id="museid" placeholder="USER ID" value="">
<input type="tel" class="sectionId-input" id="mserverid" placeholder="Server ID" value="">
</div>
</form>
Есть два поля: userid и serverid. Когда я попробовал скрипт на localhost (мой ноутбук), скрипт работает правильно. Заполнил идентификатор пользователя «79100601», а идентификатор сервера «2149». Однако 791, когда я развернул его на VPS (тот же VPS с первым случаем VPS). Идентификатор пользователя заполнен «791006», а идентификатор сервера «012149».
Дополнительные
Я убедился, напечатав переменные, которые я использовал, и они верны.
В обоих случаях журналы ошибок отсутствуют. А также попытался использовать selenium wait, пока python не перейдет в режим сна на 10 секунд. Так что, я думаю, это не вызвано медленным подключением к Интернету или не полностью загруженными элементами.
В чем проблема? Вы когда-нибудь испытывали это? Спасибо.
Комментарии:
1. Какую версию selenium вы используете?
2. @cheshire оба (AWS EC2 и мой локальный ноутбук) используют Selenium v3.141.0. Кроме того, та же версия chrome и chromedriver (87.0.4280).
Ответ №1:
Основываясь на моем тестировании, оказывается, что эта проблема вызвана VNC, который я использую. Я не знаю точной проблемы. Однако ошибка, о которой я упоминал выше, не возникла, и мой скрипт работал нормально после установки этого пакета:
sudo apt install tigervnc-xorg-extension tigervnc-viewer
Спасибо.