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()
到此,登录成功。