赞
踩
在selenium元素定位时,出现报错AttributeError: 'WebDriver' object has no attribute 'find_element_by_id'
由于版本迭代,Selenium在4.3.0版本中移除了find_element_by_*,新版的selenium已经不再使用find_element_by_id方法。
将根据元素定位方式的元素改为大写
实只需要把原来代码中的元素定位方式改成需要的方式,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
- # <editor-fold desc="Description">
- #coding=utf-8
-
- from selenium.webdriver.common.by import By
-
- #引用'webdriver'模块
- from selenium import webdriver
-
- # </editor-fold>
- import time
-
- def main():
- #引用谷歌浏览器
- b = webdriver.Chrome()
- b.get('https://www.baidu.com')
- #执行后,输入字符“Selenium”
- b.find_element(By.ID, "kw").send_keys("Selenium")
- time.sleep(5)
- b.quit()
-
- if __name__ == '__main__':
- main()
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。