Python 如何使用xpath和Robotframework在div中定位标记名

Python 如何使用xpath和Robotframework在div中定位标记名,python,xpath,robotframework,Python,Xpath,Robotframework,因此,我断言dom中存在一个特定的标记。div中没有id或类,所以我使用xpath来定位它。我不知道如何正确地写出路径。简化后的DOM如下所示 <div id="top-list"> <div data-version="12345" data-list="1" data-point="10"> 我想断言数据列表存在,但它建议我查找标记的xpath是/*[@id=“top list”]

因此,我断言dom中存在一个特定的标记。div中没有id或类,所以我使用xpath来定位它。我不知道如何正确地写出路径。简化后的DOM如下所示

<div id="top-list">
<div data-version="12345" data-list="1"  data-point="10">

我想断言
数据列表
存在,但它建议我查找标记的xpath是
/*[@id=“top list”]/div[1]

我需要添加什么来确保它查找的是
数据列表
,而不仅仅是div。在该div中还有大量其他标记,我想单独声明。我只是展示一两个,让东西容易阅读

我尝试了类似于
/*[@id=“top list”]/div[1][“data list”]
的xpath和其他一些变体,但似乎找不到正确的路径

提前感谢您提供的所有帮助。

如果您想定位具有特定属性的节点,此节点应执行以下操作:

//div[@id="top-list"]/div[@data-list]
您还可以在XPath中指定
@data list
值:

//div[@id="top-list"]/div[@data-list="1"]

是的,这很有魅力。非常感谢。如果有两个div,如果target
div
可能嵌套在另一个
div
中,那么它会是
//div[@id=“top list”]/div[@data list]
@JackGruber吗?如果你马上知道,你可以试试
//div[@id=“top list”]//div[@data list]
最后一个快速问题。我还需要获取该元素的元素属性(值),并将其设置为变量。因此,我正在编写
${data list element}
获取元素属性
xpath=/*[@id=“top list”]/div[@data list]
。该变量在另一个文件中声明。当属性位于单独的文件中时,它似乎无法为我找到该属性。如果我将变量写在与断言相同的页面上,它就会工作。我通过使用should not equal
${data list element}${empty}
断言它不等于empty,如果变量设置在同一个文件位置,它就可以正常工作。@JackGruber,很遗憾,我不熟悉RobotFramework,所以我不知道如何提取属性值。最好为这个问题创建单独的问题