Selenium Python - 通过带空格的类名查找元素

And*_*gan 6 python selenium

我正在编写一个 Python 程序,该程序使用 Selenium 导航到高级搜索页面上的搜索框中并将信息输入到搜索框中。本网站使用 Javascript,每次加载网站时,每个搜索框的 ID 和名称都会略有变化,但类名称保持一致。类名经常被重用,所以我的目标是使用find_elements_by_class_name(classname)该列表然后索引。

例如,一个盒子有 class name x-form-text x-form-field x-form-num-field x-form-empty-field,但我不能使用它,因为 selenium 认为它是一个复合类名并引发错误。如果我只使用其中的一部分,例如x-form-text,则无法找到该元素。我的希望是找到一种允许空格的方法,或者,如果不能这样做,则找到一种方法来搜索其类名包含一段没有空格的文本的所有元素,例如x-form-text.

任何帮助或想法将不胜感激!

编辑:

我试过这个代码: quantminclass = 'x-form-text.x-form-field.x-form-num-field.x-form-empty-field' quantmin = '25' browser.find_elements_by_css_selector(quantminclass)[0].send_keys(quantmin)

但是得到列表索引超出范围的错误,这意味着它找不到任何东西。我检查了元素,这绝对是它的类名,所以我不确定如何继续。

Dal*_*jia 12

这些是多个类,而不是单个带有空格的类,只需将所有类一起使用即可。

driver.find_element_by_css_selector('.class1.class2.class3')
Run Code Online (Sandbox Code Playgroud)

在 CSS 选择器中,一个点.是一个类,您可以连接任意数量的类名