python 用selenium登录百度

一,最大化启动浏览器,并访问url

from selenium import webdriver
option=webdriver.ChromeOptions()
option.add_argument('--start-maximized')
drive=webdriver.Chrome(options=option)
drive.get('http://www.baidu.com') 

二,点击页面上的‘登录’链接地址

  查看页面元素的相关信息,以前我是直接查看源代码,刚发现一个更方便查看方法:

在需要的元素上单击右键->审查元素,可以查看相关元素的信息。

  我们常用class和id来选择和调用css样式属性。class在程序中称类,在css中以小写的点(.)来命名,如.css5(属性:属性值),在HTML中调用如下<div class="css5">,在同一个html页面中可以不限次数调用该类。id表示标签的身份,同样的id在页面里只能出现一次。在css中定义时以井号(#)开头命名,如:#css5(属性:属性值)调用如下<dir id=css5>。

from time import sleep
login=drive.find_elements_by_css_selector('#u1>a.lb')[0]
login.click()
sleep(3)  

  注:经测,以下几种形式也是可以的:

#login=drive.find_elements_by_css_selector('#u1 a.lb')[0]
#login=drive.find_elements_by_css_selector("#u1>a[name=\"tj_login\"]")[0]
#login=drive.find_elements_by_css_selector("#u1>a[name=tj_login]")[0]

  

三,点击“用户名和密码”

namelogin=drive.find_elements_by_css_selector('p.tang-pass-footerBarULogin')[0]
namelogin.click()
sleep(3)

 

四,输入“用户名”,“密码”,点“登录”按钮

username = drive.find_element_by_id('TANGRAM__PSP_10__userName')
username.send_keys('gamezyq@hotmail.com')
sleep(1)
password = drive.find_element_by_id('TANGRAM__PSP_10__password')
password.send_keys('********')
sleep(1)
submit = drive.find_element_by_id('TANGRAM__PSP_10__submit')
submit.click()

  

 到此,登录成功。 

posted @ 2019-06-27 16:40  隐泉  阅读(1880)  评论(0编辑  收藏  举报