我一直在为find_element_by_class_name而挣扎。我正在尝试使用硒和chromedriver登录网页。要做到这一点,我必须首先找到登录按钮并单击它。不幸的是,当我使用find_element_by_class_name或find_element_blay_xpath方法时,我会收到以下错误消息:selenium.com.mon.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.com.mon.exceptions.NoSuchElementException:消息:没有这样的元素:无法定位元素:我应该做什么和selenium.common.excessions.NoSuch ElementException:消息:无法定位元件:
我也尝试过这里建议的xpath方法:使用Python在Selenium中查找元素时遇到问题,但没有成功。
尽管存在"类";登录按钮.btn.btn-linky";在html源代码中,函数似乎找不到它。
如有任何帮助,我们将不胜感激。
问题是我有两个版本的chromedriver,第一个对应于我的早期chrome版本,第二个对应于新chrome版本86.0.4240.75
硒似乎默认调用旧版本。可以检查在终端中输出的错误消息中使用的是哪种版本的chromedriver。
我卸载了chromedriver(两个版本(,并通过在这里获得正确的包(对应于我的谷歌chrome的包(重新安装了正确的包:https://chromedriver.chromium.org/downloads