2017-05-04 56 views
-1

The code itself点击一个通用的元素从一个普通的列表

需要有一些想法帮助如何通用元素上单击从通用的清单。

例如,我需要选择最后列表元素,这是<div class="venue-item">,从下面的列表:<div id="list">。并点击下面的标签<a href="#" class="venue-actions dropdown-toggle" data-toggle="dropdown"></a>

可能是要创建一个Python库吗?

<div id="list" class="row" style="opacity: 1;"> 
    <div class="venue-item"> 
     <a class="venue-actions dropdown-toggle" data toggle="dropdown" href="#"></a> 
     <ul class="dropdown-menu"> 
     <h3>test_by_alex_lggge</h3> 
     <a class="show-details-btn" href="#"> 
    <div class="venue-item"> 
     <a class="venue-actions dropdown-toggle" data toggle="dropdown" href="#"></a> 
     <ul class="dropdown-menu"> 
     <h3>test_by_alex_lggge</h3> 
     <a class="show-details-btn" href="#"> 
    <div class="venue-item"> 
     <a class="venue-actions dropdown-toggle" data toggle="dropdown" href="#"></a> 
     <ul class="dropdown-menu"> 
     <h3>test_by_alex_lggge</h3> 
     <a class="show-details-btn" href="#"> 
    <div class="venue-item"> 
     <a class="venue-actions dropdown-toggle" data toggle="dropdown" href="#"></a> 
     <ul class="dropdown-menu"> 
     <h3>test_by_alex_lggge</h3> 
     <a class="show-details-btn" href="#"> 
    <div class="venue-item"> 
     <a class="venue-actions dropdown-toggle" data toggle="dropdown" href="#"></a> 
     <ul class="dropdown-menu"> 
     <h3>test_by_alex_lggge</h3> 
     <a class="show-details-btn" href="#"> 
    <div class="venue-item"> 
     <a class="venue-actions dropdown-toggle" data toggle="dropdown" href="#"></a> 
     <ul class="dropdown-menu"> 
     <h3>test_by_alex_lggge</h3> 
     <a class="show-details-btn" href="#"> 
    <div class="venue-item"> 
     <a class="venue-actions dropdown-toggle" data toggle="dropdown" href="#"></a> 
     <ul class="dropdown-menu"> 
     <h3>test_by_alex_lggge</h3> 
     <a class="show-details-btn" href="#"> 
    <div class="item-detail"> 
     <a class="venue-actions dropdown-toggle" data toggle="dropdown" href="#"></a> 
     <ul class="dropdown-menu"> 
     <h3>test_by_alex_lggge</h3> 
     <a class="show-details-btn" href="#"> 
</div> 
<div class="organisation-details"> 
<div id="delete-schedule-26681" class="modal fade" role="dialog"> 
</div> 
</div> 
+0

你能告诉我们你试过了什么吗?您是否阅读了xpath文档以了解如何访问组中的第n个项目? –

+0

是的,我已经阅读了xpath文档,但只有清晰定义元素的想法。但就我而言,元素列表可以是灵活的,如果今天例如是6个元素,那么明天可能是9个元素。我猜我应该计算清单,然后检测最后一个元素,然后从列表的最后一个元素中点击需要的子元素。 – Alex

+0

@Alex你可以在问题中更具体一些,你想要定位什么元素。如果你想永远得到最后的元素,那是可行的;如果你想通过它的文本价值来获取它,也是如此。但是说“通用”并不意味着什么 - 应该有一些你以后的模式。 – Todor

回答

0

要与class="venue-item"得到最后<div>,使用此XPath:

(//div[@id="list"]/div[@class="venue-item"])[last()] 

一些解释 - 第一部分(//div[@id="list"])获取与值,ID的所有元素(你的样品中 - 1)。第二个(div[@class="venue-item"])选择它的所有直系后裔 - 这将使我们列出所有div与这样的类。最后一部分 - [last()]将返回返回列表的最后一个元素。

围绕第1部分的支架& 2在这里,因为xpath precedence and scope of axes and operators。 在这个特定的设置中,它不是必需的,但如果第一部分和第二部分的连接器是//,那就会产生很大的差别。

+1

非常感谢@Todor,检查。有用。 – Alex

相关问题