我开始学习 Selenium 并决定编写一个简单的程序来按下复选框。
from selenium.webdriver.chrome.service import Service
import time
from fake_useragent import UserAgent
from selenium import webdriver
options = webdriver.ChromeOptions()
useragent = UserAgent()
options.add_argument(f"user-agent={useragent.random}")
service = Service("C:\\Users\\Anon\\PycharmProjects\\Selenium test\\chromedriver\\chromedriver.exe")
url = "https://mega.nz/register"
driver = webdriver.Chrome(service=service)
try:
driver.get(url=url)
time.sleep(1)
checkbox2 = driver.find_element_by_name("register-check2")
except Exception as ex:
print(ex)
finally:
driver.close()
driver.quit()
我收到以下错误:“WebDriver”对象没有属性“find_element_by_name”,Pycharm 给出了这个提示:类“WebDriver”的未解析属性引用“find_element_by_name”
这个问题怎么解决我不知道,所以任何答案将不胜感激!
ps Selenium 版本是 4.4.0
显然,find_element_by_name函数“已被贬低”,目前在 selenium==4.4.0 库的 webdriver.py 文件中缺失。根据您需要使用的官方文档( python-selenium 文档):
降级 Silenium 以使此语法正常工作(您使用的是 Silenium 版本 3 语法):