selenium库报错"‘WebDriver’ object has no attribute ‘find_element_by_xpath’";
Selenium元素定位的代码运行之后会报错,发现是Selenium更新到新版本(4.x版本)后,以前的一些常用的代码的语法发生了改变
Selenium经过版本升级之后,运行后会报错,以driver.find_element_by_id(“value”)为例(其他报错也是类似下面的报错信息),运行后会出现上面的错误。
4版本的Selenium已经不再支持上面的写法,我们需要导入其他方法,改变我们的元素定位写法:
引入By方法
from selenium.webdriver.common.by import By
driver.find_element(By.Name, 'name')
新元素定位方法
# searchTag = driver.find_element_by_id("value") # 利用ID定位
# 改为:
# searchTag = driver.find_element(By.ID, "value")
# searchTag = driver.find_element_by_class_name("value") # 利用类名定位
# 改为:
# searchTag = driver.find_element(By.CLASS_NAME, "value")
# searchTag = driver.find_element_by_name("value") # 利用name属性定位
# 改为:
searchTag = driver.find_element(By.NAME, "value")
# searchTag = driver.find_element_by_tag_name("value") # 利用标签名定位
# 改为:
searchTag = driver.find_element(By.TAG_NAME, "value")
# searchTag = driver.find_element_by_xpath("value") # 利用xpath定位
# 改为:
searchTag = driver.find_element(By.XPATH, "value")
# searchTag = driver.find_element_by_css_selector("value") # 利用CSS选择器定位
# 改为:
searchTag = driver.find_element(By.CSS_SELETOR, "value")
上一篇:创建数据分区失败怎么办
下一篇:符合屏蔽地区就跳转