chromedriver selenium.common.exceptions.

我一直在努力解决 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 os

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait




# Load driver (for Google Chrome)  

chromedriver = "/usr/local/bin/chromedriver"

os.environ["webdriver.chrome.driver"] = chromedriver

driver = webdriver.Chrome(chromedriver)


url = "https://bib.cnrs.fr/#"



driver.get(url)


# Authentification

driver.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”类,但该函数似乎找不到它。

任何帮助将不胜感激。


吃鸡游戏
浏览 84回答 1
1回答

沧海一幻觉

问题是我有 2 个版本的 chromedriver,第一个对应于我拥有的早期版本的 chrome,第二个对应于我的新 chrome 版本 86.0.4240.75看来硒默认调用旧版本。可以从终端输出的错误信息中查看正在使用的chromedriver版本。我卸载了 chromedriver(两个版本),并通过在此处获取正确的软件包(与我的 google-chrome 对应的软件包)重新安装了正确的版本: https: //chromedriver.chromium.org/downloads
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python