我一直在努力解决 find_element_by_class_name 问题。我正在尝试使用 selenium 和 chromedriver 登录网页。为此,我必须首先找到登录按钮并单击它。不幸的是,当我使用 find_element_by_class_name 或 find_element_by_xpath 方法时,我收到以下错误消息:selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法定位元素我使用的是硒版本 3.141.0铬版本 86.0.4240.75蟒蛇3这是我的代码:import osfrom selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWait# Load driver (for Google Chrome) chromedriver = "/usr/local/bin/chromedriver"os.environ["webdriver.chrome.driver"] = chromedriverdriver = webdriver.Chrome(chromedriver)url = "https://bib.cnrs.fr/#"driver.get(url)# Authentificationdriver.implicitly_wait(10)connexion = driver.find_element_by_class_name("login-button.btn.btn-link").click()我尝试按照此处的建议等待页面加载:selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法定位元素:我应该做什么和selenium.common.exceptions.NoSuchElementException:消息:无法定位元素:我还尝试过使用此处建议的 xpath 方法:Troublefindingelement in Selenium with Python但无济于事。尽管 html 源代码中存在“login-button.btn.btn-linky”类,但该函数似乎找不到它。任何帮助将不胜感激。
1 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
问题是我有 2 个版本的 chromedriver,第一个对应于我拥有的早期版本的 chrome,第二个对应于我的新 chrome 版本 86.0.4240.75
看来硒默认调用旧版本。可以从终端输出的错误信息中查看正在使用的chromedriver版本。
我卸载了 chromedriver(两个版本),并通过在此处获取正确的软件包(与我的 google-chrome 对应的软件包)重新安装了正确的版本: https: //chromedriver.chromium.org/downloads
添加回答
举报
0/150
提交
取消