Python XPath:获取另一个DIV中给定条件的文本
我试图从这样的结构中获取文本:Python XPath:获取另一个DIV中给定条件的文本,python,selenium,xpath,Python,Selenium,Xpath,我试图从这样的结构中获取文本: ... <div class="a"> <div class="a"> <div class="a"> <div class="inner"> <a> <div class="a">...</div> <div class="a">></div
...
<div class="a">
<div class="a">
<div class="a">
<div class="inner">
<a>
<div class="a">...</div>
<div class="a">></div>
<div class="important class">Some interisting text</div>
<div class="a">...</div>
</a>
<a>
<div class="a">
<button class="criterion A">...</button>
</div>
</a>
</div>
</div>
</div>
</div>
<div class="a">
<div class="a">
<div class="a">
<div class="inner">
<a>
<div class="a">...</div>
<div class="a"/>
<div class="important class">Some interisting text</div>
<div class="a">...</div>
</a>
<a>
<div class="a">
<button class="criterion B">...</button>
</div>
</a>
</div>
</div>
</div>
</div>
...
但它返回一个空列表。
要检索文本,我将稍后执行以下操作:
for path in list_xpath:
print(path.text)
如果给定另一个分支中的条件,那么获取这些文本的正确方法是什么?尝试以下XPath:
//a[.//button[@class="cirterion B"]]/preceding-sibling::a//div[@class="importante class"]
请尝试以下XPath:
//a[.//button[@class="cirterion B"]]/preceding-sibling::a//div[@class="importante class"]
通过使用以下XPath-1.0表达式,您可以从一些相互关联的文本中获取文本值:
//div[a/div/@class='important class' and a/div/button/@class='criterion B']/a/div[@class='important class']/text()
在整个Python表达式中,这将是:
list_xpath = driver.find_elements_by_xpath("//div[a/div/@class='important class' and a/div/button/@class='criterion B']/a/div[@class='important class']/text()")
通过使用以下XPath-1.0表达式,您可以从一些相互关联的文本中获取文本值:
//div[a/div/@class='important class' and a/div/button/@class='criterion B']/a/div[@class='important class']/text()
在整个Python表达式中,这将是:
list_xpath = driver.find_elements_by_xpath("//div[a/div/@class='important class' and a/div/button/@class='criterion B']/a/div[@class='important class']/text()")