用tex单击项目

2024-09-27 09:27:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个密码:

<li class="search-choice" id="elementID">
<span>TEST.SER</span>
<a href="javascript:void(0)" class="search-choice-close" rel="53"></a></li>

它显示如下:

enter image description here

我想点击元素的X,但是没有ID的名称在计数中。我尝试了这个,但是没有得到它:

   "test2": (By.XPATH, "//a[@class='search-choice-close' and contains(text(), 'TEST.SER')]"),
    "test3": (By.XPATH, "//a[@class='search-choice-close']//span[contains(text(),'TEST.SER')]"),
    "test": (By.XPATH,"//li[@class='search-choice']//span[contains(text(),'TEST.SER')]//a[ @class ='search-choice-close']")

有什么建议吗?你知道吗

非常感谢。你知道吗


Tags: texttestid密码closesearchbyli
3条回答

文本()测试.SER和^{cl1}$

选项2定位器创建的层次结构是错误的。范围在标记上方

选项3您试图单击li元素而不是href。所以这是行不通的。你知道吗

试试看按.XPATH(//a[@class='search-choice-close']/parent::span[包含(text(),'测试.SER')]),如果要单击文本。你知道吗

如果你想点击图片只需使用按.XPATH(//a[@class='search-choice-close'])

尝试使用以下XPath

//span[text()='TEST.SER']/following::a

xpath找不到正确的元素的原因是,它们在查找span和a标记的属性,要么就好像它们是同一个元素,要么就好像一个被嵌入到另一个元素中一样。您需要找到span元素,然后找到跟随它的同级元素。你知道吗

您的问题原因:

"test2": (By.XPATH, "//a[@class='search-choice-close' and contains(text(), 'TEST.SER')]")

在这里,您要查找的是一个a元素,它包含a元素的适当类,但包含span元素的文本

"test3": (By.XPATH, "//a[@class='search-choice-close']//span[contains(text(),'TEST.SER')]")

在这里,您将查找span元素,就像它存在于a元素中一样,但它不存在于a元素中,而是在a元素的旁边

"test": (By.XPATH,"//li[@class='search-choice']//span[contains(text(),'TEST.SER')]//a[ @class ='search-choice-close']")

在这里,您将执行与上面相同的操作,在span元素中查找a元素。这些元素不是彼此的后代或祖先,而是兄弟姐妹。你知道吗

如果需要使用span元素前面的文本查找a元素,则需要找到span元素的同级元素。你知道吗

//span[text()='TEST.SER']/following::a

下面是有关DOM中元素层次结构的更多信息,这些信息可能有助于您在下次通过Xpath查找元素时进行讨论。 https://www.w3schools.com/xml/xpath_nodes.asp

相关问题 更多 >

    热门问题