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。但是,当我在VPS上部署它时,791(与第一个案例VPS相同的VPS)。userid 用“791006”填充,serverid“012149”。
附加
我已经通过打印确保我使用的变量是正确的。
两种情况下都没有显示错误日志。还尝试使用Selenium等待直到和python休眠10秒。因此,我认为不是由于互联网连接缓慢或元素未完全加载造成的。
问题出在哪里?你有过这样的经历吗?
1条答案
按热度按时间vybvopom1#
根据我的测试,这个问题是由我使用的VNC引起的,我不知 prop 体是什么问题,但是安装这个包后,我上面提到的错误没有出现,我的脚本运行正常: