【发布时间】:2019-05-21 11:31:00
【问题描述】:
我正在用 Python 编写 Selenium 自动化脚本。作为一个过程,我需要收集一些元素。下面是示例 html(我进行了编辑以使其看起来很简单)。当我执行搜索时,我得到类似于下面的搜索结果。
现在,我需要餐厅中的元素列表并执行一些操作。酒吧、购物、咖啡也是如此。
事情是lh和li处于同一节点级别。
我尝试了以下 xpath,但它只选择 lh 元素
//ul[@id='searchresults']//ancestor::lh
我也经历了有用的Concept XML XLST preceding-sibling and ancestor。但是,还没有想出解决办法
示例 html 代码:
<ul id="searchresults">
<lh style="">Restaurants</lh>
<li title="Chamber"><span>Chamber</span></li>
<li title="Chillies"><span>Chillies</span></li>
<li title="Sushi Ville"><span>Sushi Ville</span></li>
<li title="Toasters"><span>Toasters</span></li>
<li title="Joe Grills"><span>Joe Grills</span></li>
<lh style="">Bars</lh>
<li title="Y Cocktails"><span>Y Cocktails</span></li>
<li title="Z Brewery"><span>Z Brewery</span></li>
<li title="X Drinks"><span>X Drinks</span></li>
<lh style="">Shopping</lh>
<li title="Pacific"><span>Pacific</span></li>
<li title="Spencers"><span>Spencers</span></li>
<li title="Hays"><span>Hays</span></li>
<lh style="">Coffee</lh>
<li title="Roasters"><span>Roasters</span></li>
<li title="Coffee Beans"><span>Coffee Beans</span></li>
<li title="Coffee Cafe"><span>Coffee Cafe</span></li>
</ul>
非常感谢您的帮助,如果我缺少或需要任何有助于解决此问题的信息,请告诉我。
【问题讨论】:
-
lh标签是什么? -
@EthanK 我认为它代表 List Header。
-
这是 HTML 代码吗?
-
哦,原来如此。您知道它应该只直接跟随
ul或ol吗? source -
@EthanK 老实说,我不知道。我试图在这里复制与我项目中的网页大部分相同的代码。
标签: python css selenium selenium-webdriver xpath