Submit/log 在点击 Selenium + Python

Submit/log in click Selenium + Python

我正在尝试自动提交登录详细信息,然后登录页面。

到目前为止我的代码片段是:

from selenium import webdriver
import selenium
from selenium.webdriver.common.by import By
driver = webdriver.Chrome("PathOfChromeDriver")


driver.get("URL")

username = driver.find_element_by_name("UserName")
password = driver.find_element_by_name("Password")

username.send_keys("My_Username")
password.send_keys("My_Password")

上面的代码片段工作正常。问题是提交/按登录:

driver.find_element_by_xpath("Sign in").click()

我已经尝试了我可以在上述论坛上找到的所有可能的变体,例如:

driver.find_element_by_name("submit").click()

等等

相关网站元素的源代码是:

<form action="/Account/SignIn?returnUrl=%252fProducts" method="post" id="page-root" class="signin-page local-new-style" autocomplete="off">

<div class="login">
    <img alt="logo" src="/Content/images/bg_login_logo.png" />
    <div class="inner_content ">
        <div class="content">

            <h1>Access your account</h1>
            <div>
                <input type="text" name="UserName" placeholder="Login" />

            </div>
            <div>
                <input type="password" name="Password" placeholder="Password" />

            </div>

            <div>
                <label>
                    <input type="checkbox" name="RememberMe" value="True" />
                    Remember my login on this computer
                </label>
            </div>
            <div>
                <button type="submit">Sign in</button>
            </div>
        </div>
    </div>
</div>

</form>

我就是无法让它工作。它通常会给我一个 "unable to locate an element with the ZZZ expression YYY".

类型的错误

欢迎任何意见,能提供解决方案的人堪称英雄!

试试这个:

driver.find_element_by_css_selector("form[id='page-root'] button").click()

这也应该有效:

driver.find_element_by_id("page-root").submit()