Python+Selenium定位到多个相同的元素取指定的那一个

2023-12-28 12:50:58

在使用新版的Selenium对网页代码中存在相同class name属性的元素进行定位,在定位的过程中发现使用先前的定位方法已经无法成功对所要操作组件进行定位,

一、老版本元素定位方法:

find_elements_by_id()
find_elements_by_name()
find_elements_by_class_name()
find_elements_by_tag_name()
find_elements_by_link_text()
find_elements_by_partial_link_text()
find_elements_by_xpath()
find_elements_by_css_selector()

二、新版本元素定位方法

导入的模块

from selenium.webdriver.common.by import By?

find_element(By.XPATH)
find_element(By.CSS_SELECTOR)
find_element(By.ID)
find_element(By.TAG_NAME)
find_element(By.class_name,)
find_element(By.PARTIAL_LINK_TEXT)
find_element(By.LINK_TEXT)
find_element(By.name)
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
 
dr = webdriver.Chrome()#驱动
dr.get("https://www.csdn.net/") #访问目标网站
 
elements = dr.find_elements(By.CLASS_NAME,'navigation-right')#使用class方法进行元素定位
sleep(3)#等待3s
#加上【】因为从0开始的
element_to_click = elements[1]#选择列表的第二个对象
element_to_click.click()#对选择对象进行点击操作
sleep(3)#等待3s

文章来源:https://blog.csdn.net/qq_42412061/article/details/135265787
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。