Selenium/Python-无法在本地元素中使用带空格的类名

Selenium/Python-无法在本地元素中使用带空格的类名,python,selenium,spaces,classname,Python,Selenium,Spaces,Classname,我找不到元素。我试图找到它,并在字段中输入一些数据。我注意到类名中有空格,ID是自动生成的(将这些与其他表单进行比较),因此无法使用ID进行自动化,因为我希望自动创建新表单,并且每次都将使用“描述”字段 下面是描述字段的html,我正试图找到它 <input size="15" maxlength="255" class="acitem description s-description ui-autocomplete-input" spinner="/assets/spinner-48c

我找不到元素。我试图找到它,并在字段中输入一些数据。我注意到类名中有空格,ID是自动生成的(将这些与其他表单进行比较),因此无法使用ID进行自动化,因为我希望自动创建新表单,并且每次都将使用“描述”字段

下面是描述字段的html,我正试图找到它

<input size="15" maxlength="255" class="acitem description s-description ui-autocomplete-input" spinner="/assets/spinner-48c6e73f2bbe9ea753f7f8e5410541a8138d19d657ddd532b2765335ed3d62bf.gif" auto_complete="true" data-autocomplete-url="/items/auto_complete" data-autocomplete-renderer="item_autocomplete_renderer" data-autocomplete-delay="250" type="text" name="invoice[invoice_lines_attributes][68345][description]" id="invoice_invoice_lines_attributes_68345_description" autocomplete="off">
我的代码是不是搞错了,或者类名中是否有空格?谢谢。

试试xpath

//input[starts-with(@id,'invoice_invoice_lines_attributes_')]

在几乎所有情况下,DOM中的所有元素都可以通过XPATH访问。 在你的情况下,我将采取以下措施:

element = driver.find_element_by_xpath("//input[@id='acitem description s-description ui-autocomplete-input']")

谢谢你的帮助。我使用start with和contains解决了这个问题。 下面是我的代码

invc_desc =driver.find_element_by_xpath("//input[starts-with(@class,'acitem') and contains(@class,'s-description')]")
invc_desc.clear()
invc_desc.send_keys("HELLO WORLD")

除了在
select
元素中,您的代码是使用上面的html编写的
invc_desc =driver.find_element_by_xpath("//input[starts-with(@class,'acitem') and contains(@class,'s-description')]")
invc_desc.clear()
invc_desc.send_keys("HELLO WORLD")