使用selenium在python中输入和提交表单

2024-04-20 05:04:52 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的密码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup

driver = webdriver.PhantomJS(executable_path=r'C:\phantomjs-2.1.1-windows\bin\phantomjs.exe')
driver.get("url.com")

logForm = driver.find_element_by_name("user_login").send_keys("xx") 
passForm = driver.find_element_by_name("user_pass").send_keys("yy")
driver.find_element_by_id("logSubmit").click()

但是,这会返回无效的登录,即使我的凭据是正确的

以下是表单的源代码:

<div id="loginForm">
        <ul>
            <li>
                <label>Email:</label>
                <input class="txt" type="email" name="user_login" tabindex="1" value="">
            </li>
            <li>
                <label>Password:</label>
                <input class="txt" type="password" name="user_pass" tabindex="2">
            </li>
            <li class="submit">
                <a id="a-fgt" class="sub" href="#" tabindex="4">Forgot Password</a>
                <input type="submit" id="logSubmit" value="Login" tabindex="3" />
                <div id="rightBlock">
                    <span id="respMsg"></span>
                </div>
            </li>
        </ul>
    </div>

Tags: namefromimportdividdriverlielement
1条回答
网友
1楼 · 发布于 2024-04-20 05:04:52

请尝试将enter键与密码一起发送。虽然这不是一个好的实践,但它可以多次解决这些问题。你知道吗

*请注意您是否发送了有效/正确的ID和密码。你知道吗

driver.find_element_by_name("user_login").send_keys("xx") 
driver.find_element_by_name("user_pass").send_keys("yy\n")

希望有帮助! 快乐编码:)

相关问题 更多 >