一、name定位
1、说明:name定位就是根据元素name属性来定位(前提是有name属性)
2、name定位方法:
element=driver.find_element_by_name(name)
3、案例:打开Iconfont的登录界面,完成以下操作:
- 使用name定位,输入用户名:admin
- 使用name定位,输入密码:124132432
- 10秒后关闭浏览器窗口
代码如下:
from selenium import webdriver
from time import sleep
#这里使用阿里Iconfont的登录界面
#获取浏览器对象
driver=webdriver.Chrome()
#获取网络链接
url="https://login.alibaba-inc.com/ssoLogin.htm?BACK_URL=https%3A%2F%2Fwww.iconfont.cn%2Fapi%2FsendBucSSOToken.do&preLoginKey=HQbkPavlaI1572415135309WAbvcSruKi&CLIENT_VERSION=0.3.7&CONTEXT_PATH=%2Fapi&APP_NAME=icon-font&CANCEL_CERT=true"
driver.get(url)
#获取用户名元素和密码元素,用户名输入admin,密码输入123241234
driver.find_element_by_name("domainAccount").send_keys("admin")
driver.find_element_by_name("password").send_keys("123241234")
#暂停3秒
sleep(3)
#退出浏览器驱动
driver.quit()
运行效果:
二、class_name定位
1、说明:class_name定位就是根据元素class属性值来定位元素。HTML通过使用class来定义元素的样式。
前提:元素有class属性。
注意:如果class有多个属性值,只能使用其中的一个。
2、class_name定位方法
element=driver.find_element_by_class_name(class_name)
3、案例:打开几案网的登录界面,完成以下操作:
- 使用class_name定位,输入手机号:17862088887
- 使用class_name定位,输入密码:124132432
- 3秒后关闭浏览器窗口
代码如下:
from selenium import webdriver
from time import sleep
#这里使用几案网的登录界面
#获取浏览器对象
driver=webdriver.Chrome()
#获取网络链接
url="http://www.ji-an.com/user/index/login"
driver.get(url)
#获取手机号码元素和密码元素,用户名输入手机号,密码输入123241234
driver.find_element_by_class_name("form-control").send_keys("17862088887")
driver.find_element_by_class_name("password").send_keys("123241234")
#暂停3秒
sleep(3)
#退出浏览器驱动
driver.quit()
运行效果: