定位的方式
小试牛刀(面试题):
如果元素定位不到,你是怎么去分析?
1.元素没有记载完成
2.Frame中
3.元素不可以用
4.动态属性,动态的DIV层。
准备工作:
from selenium import webdriver
from selenium.webdriver.common.by import By
#打开浏览器
driver = webdriver.Chrome('../Reptiles_test/seleniumtest/chromedriver.exe')
#加载网页
driver.get('https://www.baidu.com/')
id
driver.find_element(By.ID,'kw').send_keys("bilibili")
driver.find_element(By.ID,'su').click()
name
driver.find_element(By.NAME,'wd').send_keys('csdn')
class_name
driver.find_element(By.CLASS_NAME,'s_ipt').send_keys('csdn')
xpath
- 相对路径+索引定位
//form/span[1]/input
- 相对路径+属性定位
//input[@autocomplete='off']
- 相对路径+通配符定位
# *代替标签
//*[@autocomplete='off']
#*代替标签和属性
//*[@*='off']
- 相对路径+部分属性值定位
#找开头
//*[starts-with(@autocomplete),'of']
#找结尾
//*[substring(@autocomplete,2)='ff']
#找包含
//*[contains(@autoconplete,'of')]
- 相对路径+文本定位
//span[text()='按图片搜索']
css(略)
- 绝对路径:不用
- 通过ID和Class定位
- 通过属性定位
- 通过部分属性定位
- 查询子元素定位
- 查询兄弟节点定位
tag_name
略
link_text
driver.find_element(By.LINK_TEXT,"新闻").click()