“”"
author:佳期如梦
data:2020-11-20
function:定位页面元素
“”"
#导入
from selenium import webdriver
# 引用时间的插件:
from time import sleep
#定义一个浏览器
dr = webdriver.Chrome()
#打开网页
dr.get(“http://www.126.com”)
#休眠
sleep(2)
#实例:
#前提:不管使用哪一种定位方法,要保证所查找的元素是唯一的
#根据id查找元素
dr.find_element_by_id(“kw”)
#根据name定位方法
dr.find_element_by_name(“kd”)
#根据class定位方法:
dr.find_elements_by_class_name(“s_ipt”)
#根据标签名方法定位(唯一性很差):
dr.find_element_by_tag_name(“input”)
#链接元素定位:
#根据名称(text)元素进行定位:
dr.find_element_by_link_text(“新闻”)
#根据部分链接的名称(partial_link_text)元素进行定位
dr.find_element_by_partial_link_text(“新”)
dr.find_element_by_partial_link_text(“闻”)
“”"
xpath方法定位:
“”"
#
#id:标签名
dr.find_elements_by_xpath("//*[@id=‘kw’]")
#id 的唯一性更强:标签名中更具体的一个元素
dr.find_elements_by_xpath("//input[@id=‘kw’]")
#name
dr.find_elements_by_xpath("//input[@name=‘wd’]")
#class name
dr.find_elements_by_xpath("//input[@class=‘s_ipt’]")
dr.find_elements_by_xpath("//input[@maxlength=‘s_ipt’]")
dr.find_elements_by_xpath("//input[@autocomplete=‘s_ipt’]")
# 。。。。所有的属性都能用。。。。
#查找的是父标签span下面的input标签;下标是从1开始的。
dr.find_elements_by_xpath("//span[@class=‘bg’]/input[2]")
#通过上上级找元素
dr.find_elements_by_xpath("//form[@id=‘form’]/span/input[2]")
#绝对路径:
dr.find_elements_by_xpath("/html/body/div/div[2]/from/span/input[2]")
#属性开头包含
“//input[start-with(@class.‘bg’)]”
#属性结尾包含
“//input[end-with(@class.‘ipthover’)]”
#属性中间包含
“//input[contains(@class.‘s_ipt’)]”
#包含(布尔)的用法:
“//input[@id=‘kw’ and @name=‘wd’ and @class=‘s_ipt’]”
#css 方式用id定位,也可以指定标签名:例如:(“input#kw”)
dr.find_elements_by_css_selector("#kw")
#class 定位方式:
dr.find_elements_by_css_selector(".s_ipt")
#name 的定位方式:
dr.find_elements_by_css_selector("[name=wd]")
dr.find_elements_by_css_selector("[maxlength=255]")
dr.find_elements_by_css_selector("[name=wd]")
dr.find_elements_by_css_selector(“name=email”)