元素定位的主要方法:
id定位: find_element_by_id (' ) )。
名称定位: find_element_by_name (' ) )。
class定位: find_element_by_class_name (' ) )
tag定位: find_element_by_tag_name (' ) )
link定位: find_element_by_link_text (' ) )
partial link定位: find _ element _ by _ partial _ link _ text (' ' )
xpath定位: find_element_by_xpath (' ' )
CSS定位: find_element_by_css_selector (' ' )
By定位
https://www.baidu.com/
搜索框
1 .利用id确定要素
来自selenium import web驱动程序
#浏览器设置
browser=web驱动程序. chrome (
#浏览器大小设定:全屏显示
browser.maximize_window (
打开百度主页
browser.get (' https://www.Baidu.com/' ) )。
#在查找百度搜索输入框之前,请先分析其html结构
#
#找到其id='kw '后,下一步用id定位
try:
browser.find_element_by_id('kw ) )是
打印(测试开机自检: id ) ) )。
except Exception as e:
打印(测试故障) )。
#输出内容: testpost:id
使用name定位元素
来自selenium import web驱动程序
browser=web驱动程序. chrome (
browser.maximize_window (
打开百度主页
browser.get (' https://www.Baidu.com/' ) )。
#搜索框的html结构:
根据name属性定位
try:
browser.find _ element _ by _ name (wd ) ) ()是
打印(测试开机自检:名称) ) )。
except Exception as e:
打印(测试故障) )。
#输出内容: test post:name
利用class配置元素
来自selenium import web驱动程序
browser=web驱动程序. chrome (
browser.maximize_window (
打开百度主页
browser.get (' https://www.Baidu.com/' ) )。
#搜索框的html结构:
基于class_name属性的定位
try:
browser.find _ element _ by _ class _ name (s _ ipt ).send_keys )哈哈) )
打印(test post:class _ name ) )
except Exception as e:
打印(测试故障) )。
#输出内容: test post:class_name
使用tag_name放置元素
来自selenium import web驱动程序
browser=web驱动程序. chrome (
browser.maximize_window (
打开百度主页
browser.get (' https://www.Baidu.com/' ) )。
#搜索框的html结构:
基于tag_name属性的定位
try:
browser.find _ element _ by _ tag _ name (' form ' ) ) ) ) ) ) ) )。
打印(test post:tag _ name ) )。
except Exception as e:
打印(测试故障) )。
#输出内容: test post:tag_name
利用link_text配置元素
link_text :根据跳转链接上方的字符定位元素。
来自selenium import web驱动程序
browser=web驱动程序. chrome (
browser.maximize_window (
打开百度主页
browser.get (' https://www.Baidu.com/' ) )。
根据link_text属性搜索元素“新闻”,然后单击按钮
try:
browser.find _ element _ by _ link _ text ('新闻').click () ) )。
打印(test post:tag _ name ) )。
except Exception as e:
打印(测试故障) )。
#输出内容: test post:link_text
使用partial_link_text放置元素
与link_text放置元素一样,partial_link_text使用文本信息中的某些字段来放置元素。
来自selenium import web驱动程序
browser=web驱动程序. chrome (
browser.maximize_window (
打开百度主页
browser.get (' https://www.Baidu.com/' ) )。
根据partial_link_text属性搜索元素“新闻”,然后单击按钮
try:
browser.find _ element _ by _ partial _ link _ text ('问').click ()
打印(test post:tag _ name ) )。
except Exception as e:
打印(测试故障) )。
#输出内容: test post:partial_link_text
利用xpath配置元素
来自selenium import web驱动程序
browser=web驱动程序. chrome (
browser.maximize_window (
打开百度主页
browser.get (' https://www.Baidu.com/' ) )。
使用xpath定位元素
try:
browser.find _ element _ by _ XPath (/* [ @ id=' kw ' ].send _ keys ) '哈哈) )
打印(测试开机自检: XPath ) ) )。
except Exception as e:
打印(测试故障) )。
#输出内容: test post:xpath
例如:
XPath='/a [ @ class=' nav-link ' and @ data-route=' store/storelist ' ] '
注意标签为" a "
其他示例:
乌通
XPath='/button [ @ class=' BTN red-DIY pull-right ' ] '
输入输出
xpath='//input[@value='我是总部管理员' ] '
8 .利用CSS配置页面元素
来自selenium import web驱动程序
browser=web驱动程序. chrome (
browser.maximize_window (
打开百度主页
browser.get (' https://www.Baidu.com/' ) )。
基于css_selector放置元素
try:
browser.find _ element _ by _ CSS _ selector (' # kw ' ).send_keys ) ) )
打印(测试开机自检: XPath ) ) )。
except Exception as e:
打印(测试故障) )。
#输出内容: test post:css_selector
By定位:例,百度页面
#by类导入
from selenium.web driver.com mon.byimportby
上面的方法也可以改写如下。
bowser.find_element(by.id,' kw ' ) ) ) ) ) ) ) )。
browser.find_element(by.name,' wd ' ) )。
(bowser.find _ element (by.class _ name,' s_ipt ' () ) ) ) ) ) ) )
browser.find _ element (by.tag _ name,' form ' ) )。
browser.find _ element (by.link _ text,'新闻') )。
browser.find _ element (by.partial _ link _ text,'问') )
browser.find_element(by.XPath,'//*[@id='kw'] ' ) ]
browser.find _ element (by.CSS _ selector,' #kw ' )