chromedriver selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素

时间:2020-10-29 08:36:02

标签: python selenium selenium-chromedriver

我一直在努力寻找find_element_by_class_name。我正在尝试使用Selenium和chromedriver登录到网页。为此,我必须首先找到登录按钮,然后单击它。不幸的是,当我使用find_element_by_class_name或find_element_by_xpath方法时,收到以下错误消息: selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素

我正在使用硒版本3.141.0

chrome版本86.0.4240.75

python3

这是我的代码:

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: Message: no such element: Unable to locate element : what should i doselenium.common.exceptions.NoSuchElementException: Message: Unable to locate element:

我也尝试过使用xpath方法,如此处建议的:Trouble finding element in Selenium with Python,但无济于事。

尽管html源代码中存在类“ login-button.btn.btn-linky”,但该功能似乎找不到它。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

问题是我有2个版本的chromedriver,第一个对应于我拥有的较早版本的chrome,第二个对应于我的新chrome版本86.0.4240.75

默认情况下,硒似乎在调用旧版本。可以在终端输出的错误消息中检查正在使用哪个版本的chromedriver。

我卸载了chromedriver(两个版本),并通过在此处获取正确的软件包(与我的google-chrome对应的软件包)重新安装了正确的软件包:https://chromedriver.chromium.org/downloads