【发布时间】:2020-11-21 13:19:30
【问题描述】:
1。第一种情况
这是我的脚本,我想用 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”填充userid,用“2149”填充serverid。但是,791 当我将它部署在 VPS 上时(与第一个案例 VPS 相同的 VPS)。 userid 填充了“791006”和 serverid“012149”。
附加
我已通过打印我使用的变量来确保它们是正确的。
两种情况都没有显示错误日志。并且还尝试使用 selenium 等到和 python 睡眠 10 秒。所以,我认为不是由于网络连接速度慢或元素未完全加载造成的。
问题出在哪里?你有过这样的经历吗?谢谢。
【问题讨论】:
-
您使用的是哪个版本的 selenium?
-
@cheshire(AWS EC2 和我的本地笔记本电脑)都在使用 Selenium v3.141.0。此外,相同的 chrome 和 chromedriver 版本(87.0.4280)。
标签: python selenium webdriver selenium-chromedriver