1. 基础定位
1.1首先新建一个py文件,然后把下面的代码写上,运行后,会自动打开浏览器,访问百度。
from selenium import webdriver
import time
browser=webdriver.Chrome()
browser.get('file:///D:/p9-%E9%A1%B9%E7%9B%AE/day02/pagetest/pagetest/%E6%B3%A8%E5%86%8CA.html')
time.sleep(5)
1.1.1 如下图所示:
1.2 通过id来定位元素信息,然后输入一个值。打开页面后会自动输入你代码中的值。
browser.find_element_by_id('passwordA').send_keys('123456')
1.3 通过name属性查找手机号,然后输入一个值,页面打开后会自动输入代码中的值。
browser.find_element_by_name('telA').send_keys('18611112222)
1.4 根据你想查找的超链接的名字,进入页面,点击会跳转到你所点击的那个页面。
browser.find_element_by_link_text('新浪').click()
1.5 根据你想查找的超链接的名字进行模糊查找,不用全部输入,输主要的进入页面,点击会跳转到你所点击的那个页面。
browser.find_element_by_partial_link_text('网站').click()
2. Xpath定位
2.1 相对定位查找密码位置,输入一个值从跟目录开始查找。自动打开页面,会显示输入的值。
browser.find_element_by_xpath('//form/p[2]/input').send_keys('123456')
2.2 绝对定位查找用户名位置,输入一个值进行查找。自动打开页面,会显示输入的值。
browser.find_element_by_xpath('/html/body/div/fieldset/form/p[1]/input').send_keys('ztt')
3 css定位
3.1 id选择器,根据id属性对密码进行查找,然后输入一个值,进入页面,会自动显示输入的值。 #passwordA: # + 查找的名称
browser.find_element_by_css_selector('#passwordA').send_keys('ztt123456')
3.2 class选择器,根据class属性对手机号进行查找,然后输入一个值,进入页面,会自动显示输入的值。.telA: . + 查找的名称
browser.find_element_by_css_selector('.telA').send_keys('18633621859')
3.3 元素选择器 ,根据input标签来查找,输入一个值,运行,会自动帮你打开页面,然后还会显示输入的值。因为input标签有很多,所以默认查找第一个。
# browser.find_element_by_css_selector('input').send_keys('admin')
4. 属性选择器
4.1 单属性 ,根据name属性=’emailA‘进行查找,输入一个值,会自动运行。
browser.find_element_by_css_selector("[name='emailA']").send_keys('123456@qq.com')
4.2 多属性。 根据name属性=’emailA‘,并且 class属性=’email dzyxA‘ 进行查找,输入一个值,会自动运行。
browser.find_element_by_css_selector("[name='emailA'],[class='emailA dzyxA']").send_keys('123456@qq.com')
5. 层级选择器
5.1 父子层级选择器
browser.find_element_by_css_selector('#pa>#userA').send_keys('admin')
5.2 隔代层级关系选择器
browser.find_element_by_css_selector('.zc #userA').send_keys('admin')