【Python与selenium浅谈】2-元素的定位

在这里插入图片描述

1、单个元素的定位(解释内容都写在了代码的注释里,这里不再用文字描述)

import time

from selenium import webdriver
from selenium.webdriver.common.by import By

wd = webdriver.Chrome()

wd.get('https://www.baidu.com/')

# 一,定位元素
# 1、通过xpath定位元素
# wd.find_element(by=By.XPATH,value='//*[@id="kw"]').send_keys('selenium')

# 2、通过id定位元素
# wd.find_element(by=By.ID,value='kw').send_keys('python')

# 3、通过class定位元素
# wd.find_element(by=By.CLASS_NAME,value='s_ipt').send_keys('python')

# 4、通过tag_name定位元素,即根据标签名称获取元素列表
print(wd.find_element(by=By.TAG_NAME, value='a'))  # 注意这个element,如有多个,则只返回第一个。
print(wd.find_elements(by=By.TAG_NAME, value='a'))  # 注意这个elements,多了个s,就能获取所有的,返回的是一个列表

# 5、通过link_text定位元素,即根据链接文本定位,百度首页有一个‘地图’的链接文本,用这个方法就能定位到"地图"这个文本对应的链接
# wd.find_element(by=By.LINK_TEXT,value='地图').click()

# 6、通过partial_link_text定位元素,即根据部分文本定位。partial是部分的意思
# wd.find_element(by=By.PARTIAL_LINK_TEXT,value='网').click()

time.sleep(3)

wd.quit()

2、一组元素的定位

import time

from selenium import webdriver
from selenium.webdriver.common.by import By

wd = webdriver.Chrome()

wd.get('https://www.baidu.com/')

# 一,定位一组元素,跟定位一个元素一样,只是把定位的方式改成了find_elements,返回的是一个列表,可以用for循环遍历,不过就不能用click点击了
# 1、通过xpath定位元素
xp = wd.find_elements(by=By.XPATH, value='//*[@id="kw"]')
print('xp',xp)
# 2、通过id定位元素
id = wd.find_elements(by=By.ID, value='kw')
print('id',id)
# 3、通过class定位元素
cl = wd.find_element(by=By.CLASS_NAME, value='s_ipt')
print('cl',cl)
# 4、通过tag_name定位元素,即根据标签名称获取元素列表
# print(wd.find_element(by=By.TAG_NAME, value='a'))  # 注意这个element,如有多个,则只返回第一个。
tag_name = wd.find_elements(by=By.TAG_NAME, value='a') # 注意这个elements,多了个s,就能获取所有的,返回的是一个列表
print('tag_name',tag_name)
# 5、通过link_text定位元素,即根据链接文本定位,百度首页有一个‘地图’的链接文本,用这个方法就能定位到"地图"这个文本对应的链接
lt = wd.find_elements(by=By.LINK_TEXT, value='地图')
print('lt',lt)
# 6、通过partial_link_text定位元素,即根据部分文本定位。partial是部分的意思
pl = wd.find_elements(by=By.PARTIAL_LINK_TEXT, value='网')
print('pl', pl)
time.sleep(3)

wd.quit()

猜你喜欢

转载自blog.csdn.net/xkukeer/article/details/125006470