因此,我有一个登录脚本,我只是尝试在最新版本的selenium(4.8.0)上按类查找元素
代码:
button = browser.find_element(By.CLASS_NAME, 'just class name')
而且这个代码不起作用。
我的东西:
- 火狐驱动程序-0.32.1(2023年2月2日,b7f075124503)
- selenium 4.8.0
这是文档搜索元素By.CLASS_NAME
、By.ID
等的方式。
https://www.selenium.dev/documentation/webdriver/elements/finders/
尝试了代码的其他变体,如find_element_by_ID
等,为 selenium 安装了一个额外的库(我不记得名称)。
2条答案
按热度按时间j2cgzkjk1#
By.CLASS_NAME
只接受一个类名作为参数,所以你不能传递多个类名。溶液
您可以使用以下locator strategies之一:
或者,您也可以使用css_selector,如下所示:
l7mqbcuq2#
CSS类和ID从不包含空格。您可以通过在浏览器控制台中键入以下内容来检查DOM中是否存在此类:
将
class_name
修改为你要找的类名。如果元素有多个类,每个类都要加一个句点(.)。