1.xpath (唯一定位的方式)
//*[@id='id']
//*[@type ='id']
//*[@plachoder='id']
//input[@id='id']
先访问父级
//div[@class='driver']/input[id =il]
联合唯一定位
选择 下拉
//selenium[@name='city'and '@size='4']
xpath 和css的区别 ,只有用xphth用有角标定
css
#id
.class
input[id =i1]
input[id =i1][clss='c1']
input[id^='已什么开始']
input[id$='以生命结束']
input[id*='']
div>input[]
selenium定位方式
8种单数
driver.find_element_by_xpath('//input[@placeholder="用户名"]').send_keys('songxueyan')
driver.find_element_by_css_selector('input[type="password"]').send_keys('123456')
driver.find_element_by_name('kaptcha').send_keys('2111')
driver.find_element_by_xpath('/html/body/div/div/div[2]/form/div[6]/div/button').click()
driver.find_element_by_link_text('用户管理').click()
driver.find_element_by_tag_name('input').send_keys()'''
8种复数
2种底层
三种切换
tab
driver.switch_to.window(driver.window_handles[-1])(-1,取我们最新的)
driver.switch_to.window(driver.window_handles[0]取第一个
close ,即使关闭
aleart
确认,取消
driver.switch_to.alert.accept()#确认
driver.switch_to.alert.dismiss()#取消
iframe
#切换iframe
driver.switch_to.frame()
#切换回来
driver.switch_to.parent_frame()
要求一层一层的切换
#回到默认层
driver.switch_to.default_content()'''
js.dom语句
显示等待
通过time调试
隐士
显示 必须每次都用
网络超时 步长05s, 一共10s,每隔0.5s,会请求一次,会请求20,还不行会报错
timeout
出现这个问题可能出现,可能出现接口出现问题
遇到定位不到的元素,怎么排查
分析html,看清楚我们是我们要用的唯一的属性
2.清父子级关系
3.也没有浏览器tab要切换
4.排查有没有iframe
5.排查元素元素调用的时候,页面是否有没有宣传了
6.定位的元素是否有display属性
7.不用显示等待,同time等待方式,确保原始是可以点击
8.是不是需要连贯的操作
9.考虑定位是不是定位写错了