Selenium问题解决记录:AttributeError: ‘WebDriver‘ object has no attribute ‘find_element_by_id‘

作者 : admin 本文共810个字,预计阅读时间需要3分钟 发布时间: 2024-06-9 共1人阅读

1. 问题:

        在selenium元素定位时,出现报错AttributeError: ‘WebDriver’ object has no attribute ‘find_element_by_id’

Selenium问题解决记录:AttributeError: ‘WebDriver‘ object has no attribute ‘find_element_by_id‘插图

2.原因:

        由于版本迭代,Selenium在4.3.0版本中移除了find_element_by_*,新版的selenium已经不再使用find_element_by_id方法。

3. 解决办法:

将根据元素定位方式的元素改为大写

实只需要把原来代码中的元素定位方式改成需要的方式,by+后面大写,把_改成.(PS:一定要大写)

eg:
报错代码:

button = browser.find_element_by_id(‘kw’)
修改后的代码:

        将button = browser.find_element_by_id(‘kw’)修改为如下语句button = browser.find_element(By.ID,’kw’)

button = browser.find_element(By.ID,'kw')

        再在其代码页的最前端添加下列代码

from selenium.webdriver.common.by import By

4.代码及运行实例

# 
#coding=utf-8

from selenium.webdriver.common.by import By

#引用'webdriver'模块
from selenium import webdriver

# 
import time

def main():
    #引用谷歌浏览器
    b = webdriver.Chrome()
    b.get('http://www.baidu.com')
    #执行后,输入字符“Selenium”
    b.find_element(By.ID, "kw").send_keys("Selenium")
    time.sleep(5)
    b.quit()

if __name__ == '__main__':
    main()

 Selenium问题解决记录:AttributeError: ‘WebDriver‘ object has no attribute ‘find_element_by_id‘插图(1)

本站无任何商业行为
个人在线分享 » Selenium问题解决记录:AttributeError: ‘WebDriver‘ object has no attribute ‘find_element_by_id‘
E-->