一、selenium新版元素定位方法
注意:selenium新版元素定位需要导入方法By,使用By来调用元素定位方法
from selenium.webdriver.common.by import By
1、ID属性值定位
标签的 id属性具有唯一性,就像人的身份证,不存在根据一个id属性定位到多个标签的情况。假设有个iframe标签如下,其 id 属性值为"actionFrame"。
<iframe name="actionFrame" id="actionFrame" border="0" style="display:none;">
我们可以通过 id 属性值定位到这个标签。由于 id 的唯一性,我们可以不用管其他的标签的内容。
from selenium import webdriver
from selenium.webdriver.common.by import By
url = 'https://www.chinagwy.org/html/stzx/202301/7_557715.html'
driver = webdriver.Chrome() #打开浏览器
driver.get(url) # 打开网址
driver.find_element(By.ID, "actionFrame")
2、name 属性值定位
name 指定标签的名称,在页面中可以不唯一。假设有个 input 标签如下,其 name 属性值为"major"。
<input id="major" value="专业" name="major">
我们可以使用driver.find_element(By.NAME, 'major')来定位这个标签。
from selenium import webdriver
from selenium.webdriver.common.by import By
url = 'https://www.chinagwy.org/html/stzx/202301/7_557715.html'
driver = webdriver.Chrome() #打开浏览器
driver.get(url) # 打开网址
driver.find_element(By.NAME, 'major')
注意:用 name 方式定位需要保证 name 属性值唯一,否则定位会失败,即定位到的元素不一定是你想要定位的元素。如果name 属性值不唯一,可以用driver.find_elements方式定位,找到所有与name 属性值对应的标签,得到的将是一个包含所有与name属性值对应的标签的列表。如:
from selenium import webdriver
from selenium.webdriver.common.by import By
url = 'https://www.baidu.com/index.php?tn=98010089_dg&ch=28'
driver = webdriver.Chrome() #打开浏览器
driver.get(url) # 打开网址
#找到name属性值为tj_settingicon的所有标签
xpath = driver.find_elements(By.NAME, 'tj_settingicon')
type(xpath) #返回结果的类型
len(xpath) #列表长度
3、class name 属性值定位
class 属性值指定标签的类名,在页面中可以不唯一。假设有个 div 标签如下,其 class 属性值为"toolbar-search-container"。
<div class="toolbar-search-container">
我们可以使用 driver.find_element(By.CLASS_NAME, 'toolbar-search-container') 定位到 div 标签。同样,用 CLASS_NAME方式定位需要保证 class属性值唯一,否则定位会失败。
4、tag_name 定位
tag_name 定位即通过标签名定位。每个标签往往用来定义一类功能,所以通过 tag_name 来识别某个元素的成功率很低,每个页面一般都用很多相同的 tag 。假设有个 div 标签如下,其标签名即为div。
<div class="toolbar-search-container">
我们可以使用 driver.find_element(By.TAG_NAME, 'div ')定位到 div 标签。
前三种方式:ID属性值定位、name 属性值定位、class name 属性值定位,均是根据元素(标签)的属性值定位,而第四种tag_name 定位则是根据标签名定位。文章来源:https://www.toymoban.com/news/detail-771550.html
5、xpath 定位
参考:selenium中元素定位——Xpath的高级用法_selenium xpath语法-CSDN博客文章来源地址https://www.toymoban.com/news/detail-771550.html
到了这里,关于selenium新版元素定位方法、元素操作与基本API的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!