『心善渊』Selenium3.0基础 — 8.Selenium元
2020-08-18 本文已影响0人
繁华似锦Fighting
(5)by_link_text
说明:
by_link_text
通过超文本链接上的文字信息来定位元素,这种方式一般专门用于定位页面上的超文本链接。
例如打开百度首页,定位点击超链接地图。
超链接地图源代码:
<a class="mnav" name="tj_trmap" href="http://map.baidu.com">地图</a>
示例:
脚本代码需求:使用link_text定位百度首页地图链接
"""
1.学习目标:
必须掌握selenium中超链接的定位方法
2.语法
link_text # 需要链接的全部文本
driver.find_element_by_link_text(全部文本)
3.需求
在页面中,使用定位连接的方法,访问百度网站,定位点击超链接地图。
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep
import os
# 2.打开浏览器
driver = webdriver.Chrome()
# 3.打开页面
url = "http://www.baidu.com"
driver.get(url)
sleep(2)
# 4.使用link_text定位
"""
注意:
连接的全部文本,表示<a>标签中的全部内容,有空格也要算。
如果有相同部分文本的元素,单数形式,定位第一个。
"""
linkText = driver.find_element_by_link_text("地图")
print(linkText.get_attribute("outerHTML"))
# 5.关闭浏览器
driver.quit()
"""
输出结果:
<a href="http://map.baidu.com" target="_blank" class="mnav c-font-normal c-color-t">地图</a>
"""
复数形式:
# 定位一组标超链接文本全部内容相同的元素,很少用到。
# 1.导入selenium
from selenium import webdriver
from time import sleep
# 2.打开浏览器
driver = webdriver.Chrome()
# 3.打开页面
url = "http://www.baidu.com"
driver.get(url)
sleep(2)
# 4.使用link_text定位
"""
注意:
连接的全部文本,表示<a>标签中的全部内容,有空格也要写。
"""
linkText = driver.find_elements_by_link_text("地图")
# 5.遍历列表打印每个元素的源码
for element in linkText:
print(element.get_attribute("outerHTML"))
# 6.关闭浏览器
driver.quit()
"""
输出结果:
<a href="http://map.baidu.com" target="_blank" class="mnav c-font-normal c-color-t">地图</a>
"""
(6)by_partial_link_text
说明:
当你不能准确知道超链接上的文本信息或者只想通过一些关键字进行匹配时,可以使用by_partial_link_text
这个方法来通过部分链接文字进行匹配。
例如打开百度首页,定位点击超链接<hao123>。
超链接地图源代码:在代码里用”ao1”进行匹配
<a href="https://www.hao123.com" target="_blank" class="mnav c-font-normal c-color-t">hao123</a>
示例:
脚本代码:使用partial_link_text
方法定位百度首页<hao123>链接
"""
1.学习目标:
必须掌握selenium中超链接的定位方法
2.语法
partial_link_text # 需要连接部分文本
driver.find_element_by_partial_link_text(部分文本)
部分文本必须是连续的文字(中可包含空格)
3.需求
在页面中,使用定位连接的方法,访问百度网站,定位点击超链接<hao123>。
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep
# 2.打开浏览器
driver = webdriver.Chrome()
# 3.打开页面
url = "http://www.baidu.com"
driver.get(url)
sleep(2)
# 4.使用by_partial_link_text定位
"""
注意:
连接的部分文本,表示<a>标签中的连续的部分内容,之中有空格也要算。
如果有相同部分文本的元素,单数形式,定位第一个。
"""
pLinkText = driver.find_element_by_partial_link_text("ao1")
print(pLinkText.get_attribute("outerHTML"))
# 6.关闭浏览器
sleep(2)
driver.quit()
"""
输出结果:
<a href="https://www.hao123.com" target="_blank" class="mnav c-font-normal c-color-t">hao123</a>
"""
复数形式:
# 定位一组标超链接文本目标内容相同的元素,很少用到。
# 1.导入selenium
from selenium import webdriver
from time import sleep
# 2.打开浏览器
driver = webdriver.Chrome()
# 3.打开页面
url = "http://www.baidu.com"
driver.get(url)
sleep(2)
# 4.使用by_partial_link_text定位
"""
注意:
连接的部分文本,表示<a>标签中的连续的部分内容,之中有空格也要算。
"""
pLinkText = driver.find_elements_by_partial_link_text("ao1")
# 5.遍历列表打印每个元素的源码
for element in pLinkText:
print(element.get_attribute("outerHTML"))
# 6.关闭浏览器
driver.quit()
"""
输出结果:
<a href="https://www.hao123.com" target="_blank" class="mnav c-font-normal c-color-t">hao123</a>
"""