Skip to main content
 首页 » 编程设计

python之Selenium Python之按带空格的类名查找元素

2025年05月04日2052php

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

例如,一个框具有类名 x-form-text x-form-field x-form-num-field x-form-empty-field,但我不能使用它是因为 selenium 认为它是一个复合类名并抛出错误。如果我只使用它的一部分,比如 x-form-text,它就找不到元素。我希望要么找到一种允许空格的方法,要么如果做不到,找到一种方法来搜索类名包含一段没有空格的文本的所有元素,例如 x-form-文字.

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

编辑:

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

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

请您参考如下方法:

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

driver.find_element(By.CSS_SELECTOR, '.class1.class2.class3') 

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