Python selenium 4.8.0 -

jjhzyzn0  于 2023-02-08  发布在  Python
关注(0)|答案(2)|浏览(214)

因此,我有一个登录脚本,我只是尝试在最新版本的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_NAMEBy.ID等的方式。
https://www.selenium.dev/documentation/webdriver/elements/finders/
尝试了代码的其他变体,如find_element_by_ID等,为 selenium 安装了一个额外的库(我不记得名称)。

j2cgzkjk

j2cgzkjk1#

By.CLASS_NAME只接受一个类名作为参数,所以你不能传递多个类名。
溶液
您可以使用以下locator strategies之一:

  • 使用类名 just
button = browser.find_element(By.CLASS_NAME, 'just')
  • 使用类名 class
button = browser.find_element(By.CLASS_NAME, 'class')
  • 使用类名 name
button = browser.find_element(By.CLASS_NAME, 'name')

或者,您也可以使用css_selector,如下所示:

button = browser.find_element(By.CSS_SELECTOR, ".just.class.name")
l7mqbcuq

l7mqbcuq2#

CSS类和ID从不包含空格。您可以通过在浏览器控制台中键入以下内容来检查DOM中是否存在此类:

document.querySelectorAll('.class_name')

class_name修改为你要找的类名。如果元素有多个类,每个类都要加一个句点(.)。

document.querySelectorAll('.class_name1.class_name2')

相关问题