0

嗨,这是我试图在其中插入密钥的 HTML:

<input type="text" name="input[220].pk[202].name['CODICE_ORDINE_OLO'].value" alias="" value="" pattern=".*" class="form-control form-control-sm   null" maxlength="4000" data-placement="right" data-original-title="" title="">

该类用于 HTML 的其他部分,因此我无法使用它来查找它,唯一独特的是名称,但使用 xpath:

WebDriverWait(driver, 10)
driver.find_element_by_xpath("//input[@name='input[220].pk[202].name['CODICE_ORDINE_OLO'].value']").send:keys(NW)

我收到以下错误:

selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: Unable to locate an element with the xpa
th expression //input[@name='input[220].pk[202].name['CODICE_ORDINE_OLO'].value'] because of the following error:
SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//input[@name='input[220].pk[202].name['CODICE_ORDI
NE_OLO'].value']' is not a valid XPath expression.

有什么帮助吗?

4

2 回答 2

0

如果名称是动态的,我建议使用contains

//input[contains(@name,"input[220]")]

如果名称是静态的,请使用下面的xPath

//input[@name="input[220].pk[202].name['CODICE_ORDINE_OLO'].value"]
于 2021-09-17T13:44:06.927 回答
0

在这里,您实际上需要在字符串内部定义字符串内部字符串。
为此,您必须在每次之间'进行更改。 这里的整个 XPath 表达式在开头和结尾的单撇号内,属性值用双撇号引用,内部值再次用单撇号引用。 尝试这个:"
'name"CODICE_ORDINE_OLO'

driver.find_element_by_xpath('//input[@name="input[220].pk[202].name[' + 'CODICE_ORDINE_OLO' + '].value"]').send:keys(NW)
于 2021-09-17T13:35:15.220 回答