from selenium import webdriver
from selenium.webdriver.common.by import By
#打开谷歌浏览器
driver=webdriver.Chrome()
#访问网址
driver.get('https://www.baidu.com/')
#搜索
driver.find_element(By.ID,'kw').send_keys('谷歌浏览器与驱动对应版本')
driver.find_element(By.ID, 'su').click()
###八大元素定位:id,name,class_name,xpath,css,tag_name,link_text,partial_link_text
#id定位:将鼠标放置通过在打开页面F12或者右键检查 打开前端代码 通过对应id定位输入框 通过 send_keys(‘输入的内容’)
driver.find_element(By.ID,'kw').send_keys('谷歌浏览器与驱动对应版本')
#iname定位:将鼠标放置通过在打开页面F12或者右键检查 打开前端代码 通过name定位输入框 通过 send_keys(‘输入的内容’)
driver.find_element(By.NAME,'wd').send_keys('谷歌浏览器与驱动对应版本')
#将鼠标放置通过在打开页面F12或者右键检查 打开前端代码 通过PARTIAL_LINK_TEXT定位链接 点击 click()
driver.find_element(By.PARTIAL_LINK_TEXT,'国防部').click()
#将鼠标放置通过在打开页面F12或者右键检查 打开前端代码 通过LINK_TEXT定位链接 点击 click()
#driver.find_element(By.LINK_TEXT,'国防部').click()
#xpath定位:
#绝对路径:/开头是绝对路径 找到某个标签右键copy-copy full xpath
#如:/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input
driver.find_element(By.XPATH,'/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input').send_keys('谷歌浏览器与驱动对应版本')
#1相对路径://开头是相对路径
#1相对路径+索引 //form/span[1]/input
driver.find_element(By.XPATH,'//form/span[1]/input').send_keys('谷歌浏览器与驱动对应版本')
#2相对路径+属性定位 //input[@autocomplete='off'] //*[@*='off']均可换为*
driver.find_element(By.XPATH,"//input[@autocomplete='off']").send_keys('谷歌浏览器与驱动对应版本')
#3相对路径+通配符定位
可以将某一个标签换为*,如将上面//input[@autocomplete='off']中input标识换为*,//*[@autocomplete='off'],标识整个网页中所有含有autocomplete='off'路径,#经常会出错
#4相对路径+部分属性值定位
以XX开头://input[starts-with(@autocomplete,'of')] autocomplete属性以of开头
以XX结尾://input[substring(@autocomplet,2)='ff'] autocomplete属性j从第2个字节开始截取,截取后值=ff
包含xx: //input[contains(@autocomplete,'of')] autocomplete属性包含of
#5相对路径+文本定位
//span[text()='按批片搜索']
#css定位:绝对路径,不用
通过id和class定位、通过属性定位,通过部分元素定位、查询子元素定位,查询兄弟节点定位