关于使用selenium定位网页元素时系统警告定位方法弃用的问题

目录

  • 常用的定位方法
  • 简单的定位方法
    • 案例:查看两种的定位方法的区别

常用的定位方法

先介绍一下selenium定位元素的一些常见方法

方法 介绍
find_element_by_Id() 通过id定位
find_element_by_name() 通过name定位
find_element_by_css_selector() 通过class_selector定位
find_element_by_tag_name() 通过tag_name定位
find_element_by_class_name() 通过class_name定位
find_element_by_xpath() 通过xpath定位
find_element_by_link_text() 通过link_text定位
find_element_by_partial_link_text() 通过partial_link_text定位

最近在使用selenium4.0.0版本中的定位方法定位网页元素时,系统会提出如下警告:‘DeprecationWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
for item in driver.find_elements_by_xpath(’//div[@class=“movie-content”]’) :’
在这里插入图片描述
可以使用下面的j简单的定位方法来免除警告

简单的定位方法

定位方法 简单的定位方法1 简单的定位方法2
by_id find_element(“id”,"") find_element(By.ID,value=’’)
by_xpath find_element(“xpath”,"") find_element(By.XPATH,value=" ")
by_link_text find_element(“link text”,"") find_element(By.LINK_TEXT,value=" ")
by_partial_text find_element(“partial link text”,"") find_element(By.PARTIAL_LINK_TEXT,value=" ")
by_name find_element(“name”,"") find_element(By.NAME,value=" ")
by_tag_name find_element(“tag name”,"") find_element(By.TAG_NAME,value=" ")
by_class_name find_element(“class name”,"") find_element(By.CLASS_NAME,value=" ")
by_css_selector find_element(“css selector”,"") find_element(By.CSS_SELECTOR,value=" ")

案例:查看两种的定位方法的区别

常用的定位方法


from selenium import webdriver
import time
from selenium.webdriver.common.by import By
 
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")
 
driver.find_element_by_id("kw").send_keys("python")
driver.find_element_by_id("su").click()
 
time.sleep(2)

运行结果
关于使用selenium定位网页元素时系统警告定位方法弃用的问题_第1张图片
简单的定位方法

from selenium import webdriver
import time
from selenium.webdriver.common.by import By
 
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")
 
driver.find_element('id',"kw").send_keys("python")
driver.find_element('id',"su").click()
'''
driver.find_element(by=By.ID, value='kw').send_keys('python')
driver.find_element(by=By.ID, value='su').click()
''' 
time.sleep(2)

运行结果
关于使用selenium定位网页元素时系统警告定位方法弃用的问题_第2张图片

你可能感兴趣的:(关于python的一些tip,selenium,python)