1、八大定位方法:
id定位 find_element(By.ID,“xxx”)
name定位 find_element(By.NAME,“xxx”)
tag定位 find_element(By.TAG_NAME,“xxx”)
class定位 find_element(By.CLASS_NAME,“xxx”)
link_text定位 find_element(By.LINK_TEXT,“xxx”)
partial link定位 find_element(By.PARTIAL_LINK_TEXT,“xxx”)
xpath定位 find_element(By.XPATH,“xxx”)
css_selector定位 find_element(By.CSS_SELECTOR,“xxx”)
所有定位方法都是使用浏览器实例对象去调用的,因此在使用前需要创建浏览器对象
2、find_element()方法介绍:
位于webdriver模块中WebDriver类
入参有两个,一个是by入参,即定位元素的方式,一个是value入参,即定位方式的表达式或值
回值是WebElement实例对象
find_element(self, by=By.ID, value=None) -> WebElement
3、使用
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
# 浏览器对象
path = Service(r"D:\DevTools\ChromeDriver\chromedriver.exe")
driver = webdriver.Chrome(service=path)
# 浏览器进入百度页面
driver.get("https://www.baidu.com")
#id定位搜索框
ele_id = driver.find_element(By.ID, "kw")
#name定位搜索框
ele_name = driver.find_element(By.NAME, "wd")
#tag定位
ele_tag = driver.find_element(By.TAG_NAME, "body")
#link_text定位百度热搜
ele_link_text = driver.find_element(By.LINK_TEXT, "百度热搜")
#partial_link_text定位百度热搜
ele_partial_link_text = driver.find_element(By.PARTIAL_LINK_TEXT,"热搜")
#xpath定位搜索框
ele_xpath = driver.find_element(By.XPATH,"//input[@id='kw']")
#css_selector定位搜索框
ele_css_selector = driver.find_element(By.CSS_SELECTOR,"#kw")
通过八种方式获取到元素后,可以对元素对象进行操作,如搜索框中输入值,点击元素,判断元素是否可见等。