在使用新版的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