<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <p id="abc">海客谈瀛洲,烟涛微茫信难求</p> <a name="abd">天南地北双飞客,老翅儿几回寒暑</a> <br> <a href="https://www.baidu.com">点击进入百度</a> <br> <span>人道海水深,不抵相思半</span> <br> <span class="xyz">无意苦争春,一任群芳妒</span> <div> <ul> <li>驿外断桥边</li> <li>寂寞开无主</li> <li>已是黄昏独自愁</li> </ul> </div> <span class="hello nice world">结庐在人境,而无车马喧</span> </body> </html>
1.定位元素的8种方法
import os from selenium import webdriver driver_path = f"{(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))}/driver/chromedriver.exe" # 创建浏览器驱动对象,这里是打开浏览器 driver = webdriver.Chrome(executable_path=driver_path) # 访问网址 driver.get(r"C:Usersxibo.zhuworkmyselfmyProjectselenium_basicday1 est.html") """ # 根据 id 属性进行定位, 只返回找到的第一个元素 ele = driver.find_element_by_id("abc") # 获取元素的文本值并打印出来 print(ele.text) """ """ # 根据 name 属性定位, 只返回找到的第一个元素 ele = driver.find_element_by_name("abd") print(ele.text) """ """ # 根据链接文本进行定位, 只返回找到的第一个元素 ele = driver.find_element_by_link_text("点击进入百度") ele.click() """ """ # 根据链接文本进行定位, 模糊定位, 只返回找到的第一个元素 ele = driver.find_element_by_partial_link_text("点击进入") ele.click() """ """ # 根据 tag_name 进行定位, 只返回找到的第一个元素 ele = driver.find_element_by_tag_name("span") print(ele.text) """ # 根据 class 属性进行定位, 只返回找到的第一个元素 ele = driver.find_element_by_class_name("hello") print(ele.text) """ # 根据 xpath 进行定位, 只返回找到的第一个元素 ele = driver.find_element_by_xpath("/html/body/div/ul/li[2]") print(ele.text) """ """ # 根据css_selector 匹配元素列表,返回所有能匹配到的元素,存在一个列表里边 ele = driver.find_element_by_css_selector("html > body > div > ul > li:nth-child(2)") print(ele.text) """ driver.quit()