selenium webdriver python发现元素与id

时间:2017-06-03 13:48:34

标签: python selenium selenium-webdriver automation

我是selenium python的新手,如何选择用户名字段和密码字段来自动登录页面。 两个字段都没有给出id。 这是源代码。

<div class='tablecss'>   
<table cellpadding='1' cellspacing='1' border='0' align='center'> <tr 
id='usernamelbl'><td style='color:#565656;text-align:left;'>
<label >Username</label></td></tr><tr id='usernametxt'>
<td><input type='text' name='username' maxlength='50' class='textbox' >
</td></tr>
<tr id='passwordlbl'><td style='color:#565656;text-align:left;'>
<label>Password</label></td></tr><tr><td>
<input type='password' name='password' autocomplete='off' 
class='textbox'>
</td></tr>
<tr><td>
<input type='submit' name='btnSubmit' value='Login' id='logincaption' 
class='button' style='color:#565656' /></td></tr></table></div> 

以下是我用来选择元素的代码:

user = driver.find_element_by_css_selector('#txtUserName')
user.send_keys('pv13')
password = driver.find_element_by_css_selector('#txtPassword')
password.send_keys('9979173')

1 个答案:

答案 0 :(得分:-1)

正如你在这里所做的那样,它不会起作用,因为没有ID'txtUserName'或'txtPassword'。

如果要选择用户名和密码的输入,可以通过xpath完成。

例如:

user_name_input = driver.find_element_by_xpath('//input[@name="username"]')
user_name_input.send_keys('pv13')
password_input = driver.find_element_by_css_selector('//input[@name="password"]')
password_input.send_keys('9979173')

希望有所帮助!