07、selenium--link_text & partial_link_text定位

丶灬走出姿态 提交于 2019-11-26 19:32:13

被测网页

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <a href="https://cn.bing.com">去bing搜索</a>
    <a href="https://cn.bing.com">bing</a>
    <a href="http://www.baidu.com">百度搜索</a>
</body>
</html>

通过连接文本定位

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("file:///F:/PythonWorkSpace/selenium_pro/id_test.html")
eles = driver.find_elements_by_partial_link_text("bing")
print(eles)
for item in eles:
    url = item.get_attribute("href")
    print(url)
print(driver.find_element_by_link_text("百度搜索").get_attribute("href"))
# driver.quit()

# 输出
# [<selenium.webdriver.remote.webelement.WebElement (session="5e8d0be6bcbe1fee6dfc0f8617da9e51", element="c02dbb9b-84dc-4975-a60c-f2855c2db237")>, <selenium.webdriver.remote.webelement.WebElement (session="5e8d0be6bcbe1fee6dfc0f8617da9e51", element="735d7c71-5387-4cf2-896e-0dbf6c7f4d53")>]
# https://cn.bing.com/
# https://cn.bing.com/
# http://www.baidu.com/

解析

find_elements_by_partial_link_text:通过连接部分文本来定位,这里通过bing文本,定位到了两个元素
item.get_attribute("href"):获取到了元素href属性
find_element_by_link_text("百度搜索"):通过完整的文本定位元素,这里定位到了百度搜索

partial_link_text:是通过局部文本来定位,因此它可能会定位到多个元素,如果局部文本就能唯一标识一个元素的话,那么就会定位这一个元素
link_text:是全部文本定位,通常定位的就是一个元素,不过也不是不可能有全部相同的文本

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!