1. find_element_by_link_text

此定位方法只针对 HTML 中的 <a>内容</a> 标签使用,一般会对应一个可跳转的链接,通过 a 标签中的内容定位元素。

1.1 find_element_by_link_text 应用

# find_element_by_link_text 的应用1:点击“hao123”,跳转值 hao123 页面
from selenium import webdriver  # 导入 webdriver 模块
from time import sleep  # 导入 sleep 模块,可以使程序强制休眠

driver = webdriver.Chrome()  # 调用 Chrome 浏览器
driver.get('https://www.baidu.com')  # 打开百度网站
element = driver.find_element_by_link_text("hao123")  # 通过 link_text 定位
element.click()  # 点击
sleep(5)  # 强制休眠 5 秒

driver.quit()  # 关闭浏览器
# find_element_by_link_text 的应用2:点击豆瓣首页的“豆瓣同城”

driver = webdriver.Chrome()  # 调用 Chrome 浏览器
driver.get('https://www.douban.com/')  # 打开豆瓣
element1 = driver.find_element_by_link_text("豆瓣同城")  # 通过 link_text 定位
element1.click()  # 点击
sleep(5)  # 强制休眠 5 秒

driver.quit()  # 关闭浏览器

2. find_element_by_partial_link_text

同样也是针对 HTML 中的 <a>内容</a> 标签使用,与 find_element_by_link_text 的区别就是,它支持部分文字匹配,但必须是连续的文字,不能是间隔的文字

2.1 find_element_by_partial_link_text 应用

# find_element_by_partial_link_text 的应用1:点击“hao123”,跳转值 hao123 页面
from selenium import webdriver  # 导入 webdriver 模块
from time import sleep  # 导入 sleep 模块,可以使程序强制休眠

driver = webdriver.Chrome()  # 调用 Chrome 浏览器
driver.get('https://www.baidu.com')  # 打开百度网站
element = driver.find_element_by_partial_link_text("hao1")  # 通过 partial_link_text 定位,匹配开头
# element = driver.find_element_by_partial_link_text("ao123")  # 通过 partial_link_text 定位,匹配结尾
# element = driver.find_element_by_partial_link_text("ao12")  # 通过 partial_link_text 定位,匹配中间
element.click()  # 点击
sleep(5)  # 强制休眠 5 秒
# find_element_by_partial_link_text 的应用2:点击豆瓣首页的“豆瓣同城”

driver = webdriver.Chrome()  # 调用 Chrome 浏览器
driver.get('https://www.douban.com/')  # 打开豆瓣
element1 = driver.find_element_by_partial_link_text("豆瓣同")  # 通过 partial_link_text 定位,匹配开头
# element1 = driver.find_element_by_partial_link_text("瓣同城")  # 通过 partial_link_text 定位,匹配结尾
# element1 = driver.find_element_by_partial_link_text("瓣同")  # 通过 partial_link_text 定位,匹配中间
element1.click()  # 点击
sleep(5)  # 强制休眠 5 秒

总结


机智的测试生活
88 声望478 粉丝

公号|机智的测试生活