Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 两个或多个子类的XPATH连接_Xml_Xpath_Web Scraping - Fatal编程技术网

Xml 两个或多个子类的XPATH连接

Xml 两个或多个子类的XPATH连接,xml,xpath,web-scraping,Xml,Xpath,Web Scraping,我需要删除网站上的数据 例如,www.example.com 代码显示: 一个 一二 一三 两个一 两个 两个三个 您的XPath无法工作,因为单个元素上只有一个([])元素(使用*选择) 试试这样吧 //div[@class='first test']/div[@class='first test2']/ul/li[@class='datas']/text() 它不起作用,因为每个类针对不同的元素。试试这样: //div[@class='first test2']//li[@cl

我需要删除网站上的数据

例如,www.example.com

代码显示:


  • 一个
  • 一二
  • 一三
  • 两个一
  • 两个
  • 两个三个

您的XPath无法工作,因为单个元素上只有一个(
[]
)元素(使用
*
选择)

试试这样吧

//div[@class='first test']/div[@class='first test2']/ul/li[@class='datas']/text()

它不起作用,因为每个类针对不同的元素。试试这样:

//div[@class='first test2']//li[@class='datas']
上面的代码现在应该可以解决了,但是如果有人用“datas”类添加了一个新的
li
元素,您将遇到一个新问题。如果是这样,您必须再添加一个规范:

//div[@class='first test2']//li[@class='datas'][text()='one one']

此XPath在这两种情况下都有效

您可以尝试下面提到的任何一种
XPath
来定位webelement
One

使用前面的关键字
获取webelement

//div[@class='second test']/..//preceding::div[@class='first test2']//li[text()='One One']
//div[@class='first test2']/..//following-sibling::li[text()='One One']

使用以下同级关键字获取webelement

//div[@class='second test']/..//preceding::div[@class='first test2']//li[text()='One One']
//div[@class='first test2']/..//following-sibling::li[text()='One One']

如果这个答案适合您,请将其标记为已接受。