Python 无法使用以下Xpath找到元素

Python 无法使用以下Xpath找到元素,python,selenium,Python,Selenium,我正在尝试查找statusid_103408和text()草稿的输入类型 这是我正在使用的xpath,不确定我哪里出错了 //input[@name='statusid_103408' and contains(text(), 'Draft')] 使用值将起作用,因为值是唯一的,文本不在输入标记内 使用值它会起作用,因为值是唯一的,文本不在输入标记内 此xpath不起作用的原因是“Draft”的文本实际上不是输入元素的属性。它包含在作为父元素的li元素中。因此,您的搜索没有返回任何结果 我建

我正在尝试查找statusid_103408和text()草稿的输入类型

这是我正在使用的xpath,不确定我哪里出错了

//input[@name='statusid_103408' and contains(text(), 'Draft')]

使用值将起作用,因为值是唯一的,文本不在输入标记内

使用值它会起作用,因为值是唯一的,文本不在输入标记内

此xpath不起作用的原因是“Draft”的文本实际上不是输入元素的属性。它包含在作为父元素的li元素中。因此,您的搜索没有返回任何结果

我建议只在xpath搜索中使用该名称(如果它是唯一的)。如果您在搜索中确实需要文本,可以先搜索li项目的文本,然后查找您的输入,如下所示:

//li[text()='Draft']/input[@name='statusid_103408']

此xpath不起作用的原因是“Draft”的文本实际上不是输入元素的属性。它包含在作为父元素的li元素中。因此,您的搜索没有返回任何结果

我建议只在xpath搜索中使用该名称(如果它是唯一的)。如果您在搜索中确实需要文本,可以先搜索li项目的文本,然后查找您的输入,如下所示:

//li[text()='Draft']/input[@name='statusid_103408']

包含不是正确的方法。如果你知道整个文本,最好选择
//input[@name='statusid_103408'和text()='Draft']
你的文本不在输入标记内,这就是问题的原因,只需像//input[@name='statusid_103408]@Jayesh Doolai一样单独传递名称,不,contain可以正常工作问题是,他的文本不在输入标记内哦,好的名称是一样的,所以使用value就行了。啊,我忽略了文本不在输入标记内的事实。在这种情况下,该复选框的唯一特性是value.contains不是正确的方法。如果你知道整个文本,最好选择
//input[@name='statusid_103408'和text()='Draft']
你的文本不在输入标记内,这就是问题的原因,只需像//input[@name='statusid_103408]@Jayesh Doolai一样单独传递名称,不,contain可以正常工作问题是,他的文本不在输入标记内哦,好的名称是一样的,所以使用value就行了。啊,我忽略了文本不在输入标记内的事实。在这种情况下,该复选框的唯一内容是值。