无法使用 selenium 按类属性查找元素

Cannot find element by class attribute using selenium

提问人:MaxFactorHub 提问时间:11/16/2023 最后编辑:mkrieger1MaxFactorHub 更新时间:11/16/2023 访问量:41

问:

我无法从这个网站找到使用 selenium 的类属性的元素。不幸的是,我得到了一个NoSuchElementException。但与此同时,我确信这个元素存在于页面上:

<div class="page-header mb-3">
   <h1>Log In to Djinni</h1>
</div>

这是我的程序代码:

dr = webdriver.Chrome()
dr.get("https://djinni.co/login")
dr.maximize_window()
header = dr.find_element(By.CLASS_NAME, "page-header mb-3") #NoSuchElementException
print(header.text)

谁能告诉我原因是什么?

python selenium-web驱动程序

评论


答:

1赞 Pat McGee 11/16/2023 #1

简单的错误。

您正在寻找类页眉 mb-3 - 这是两个类,页眉mb-3

如果指定这些类中的任何一个而不是两个类,它将起作用。

dr = webdriver.Chrome()
dr.get("https://djinni.co/login")
dr.maximize_window()
header = dr.find_element(By.CLASS_NAME, "page-header") #This works
print(header.text)

评论

0赞 MaxFactorHub 11/16/2023
多谢!这么愚蠢的错误,可惜我花了这么多时间,自己却没有找到原因。如果我没记错的话,BeautifulSoup 库允许您一次搜索多个类名,这就是为什么我认为这里不会有错误。现在也很清楚为什么有些类名有效而另一些则无效。