属性错误:"模块"对象没有属性"文档"



我正在尝试使用 python(2.7.10( 和硒输入 usernamepassword,并遇到以下错误?如何解决?

法典:-

from selenium import webdriver
import selenium
driver = webdriver.Chrome("/Users/username/Downloads/chromedriver")
driver.get("http://website.com")
username = selenium.document.getElementById("Username")
password = selenium.document.getElementById("Password")
username.send_keys("username")
password.send_keys("password")
selenium.find_element_by_name("Login").click()

.HTML:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>company Central Login</title>
    <link rel="stylesheet" type="text/css" href="/themes/bootstrap/theme.css" />
    <link rel="icon" type="image/png" href="/themes/bootstrap/favicon.png" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <style type="text/css">
        .vertical-align {
            display: -webkit-box;
            display: -webkit-flex;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -webkit-flex-direction: column;
            flex-direction: column;
        }
        .vertical-align > [class^="col-"],
        .vertical-align > [class*=" col-"] {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -webkit-align-items: center;
            -ms-flex-align: center;
            align-items: center;
            min-height: 24em;
            -webkit-box-pack: center;
            -webkit-justify-content: center;
            -ms-flex-pack: center;
            justify-content: center;
        }
    </style>
  </head>
  <body onload="if (document.getElementById('username')) document.getElementById('username').focus()">
    <div class="container">

<div class="row vertical-align">
  <div class="col-md-6 col-md-offset-3">
    <form class="form" method="post" id="login-form" action="login"
          onsubmit="submitbutton = document.getElementById('login-submit'); submitbutton.value='Please wait...'; submitbutton.disabled=true; return true;">
      <h2 style="text-align: center;">Open Directory Login</h2>
      <div class="row">
        <div class="form-group col-md-6">
          <label for="username">Username</label>
          <input class="form-control" placeholder="Open Directory Username" id="username" name="username" size="30" type="text" tabindex="1" accesskey="u" />
        </div>
        <div class="form-group col-md-6">
          <label for="password">Password</label>
          <input class="form-control" placeholder="Open Directory Password" id="password" name="password" size="30" type="password" tabindex="2" accesskey="p" autocomplete="off" />
        </div>
      </div>
      <div style="text-align: right">
        <input type="submit" class="btn btn-success" accesskey="l" value="Login" tabindex="4" id="login-submit">
      </div>
      <input type="hidden" id="lt" name="lt" value="LT-1521352536r2EFE1A5DD6D459C1E4" />
      <input type="hidden" id="service" name="service" value="http:&#x2F;&#x2F;wifi-tech-web.company.com:8080&#x2F;login" />
      <input type="hidden" id="from" name="from" value="" />
    </form>
  </div>
</div>
    </div>
  </body>
</html>

错误:-

AttributeError: 'module' object has no attribute 'document'

Selenium是一个模块,并且它没有document属性,您需要使用webdriver来定位元素。 无论如何,document.getElementById不是Python语法,而是JavaScript。尝试

username = driver.find_element_by_id('username')

请记住,搜索区分大小写,username全部为小写字母。

最新更新