首页 > 解决方案 > 如何在 Selenium Python 中具有相同名称和更晚时间的动态 webtable 中选择结果?

问题描述

我一直在用 Python 做一个 Selenium 项目,我想选择比前一个时间晚但难以实现的结果。我的意思是这个,

例子

在此处输入图像描述

如果我有一个具有相同名称结果的动态 webtable(在这种情况下是工作订单号),我如何实现选择最新创建的结果的功能?

测试.py

def __init__(self,driver):
    self.driver = driver

def testing(self):
    #For the 1st result with the same name with earlier timing
    result1_xpath = "//body[1]/div[1]/div[3]/div[1]/div[1]/table[1]/tbody[1]/tr[1]/td[8]/div[1]"
    #For the 2nd result with the same name with later timing
    result2_xpath = "//body[1]/div[1]/div[3]/div[1]/div[1]/table[1]/tbody[1]/tr[2]/td[8]/div[1]"

HTML 代码

 <table id="table" role="table" aria-busy="false" aria-colcount="10" aria-describedby="table__caption_" class="table b-table table-striped table-hover table-sm b-table-stacked-md"><!----><!----><thead role="rowgroup" class=""><!----><tr role="row" class=""><th role="columnheader" scope="col" aria-colindex="1" class=""><div>request id</div></th><th role="columnheader" scope="col" aria-colindex="2" class=""><div>job order number</div></th><th role="columnheader" scope="col" aria-colindex="3" class=""><div>status</div></th><th role="columnheader" scope="col" aria-colindex="4" class=""><div>requestor</div></th><th role="columnheader" scope="col" aria-colindex="5" class=""><div>approver</div></th><th role="columnheader" scope="col" aria-colindex="6" class=""><div>Total amounts ($)</div></th><th role="columnheader" scope="col" aria-colindex="7" class=""><div>Total Number of cards</div></th><th role="columnheader" scope="col" aria-colindex="8" class=""><div>Request DateTime</div></th><th role="columnheader" scope="col" aria-colindex="9" class=""><div>Update DateTime</div></th><th role="columnheader" scope="col" aria-colindex="10" class=""><div> Rejection Reason</div></th></tr></thead><tbody role="rowgroup"><!----><tr role="row" tabindex="0" aria-rowindex="1" class=""><td aria-colindex="1" data-label="request id" role="cell" class=""><div>101</div></td><td aria-colindex="2" data-label="job order number" role="cell" class=""><div>ecTesting2</div></td><td aria-colindex="3" data-label="status" role="cell" class=""><div>Topup_Completed</div></td><td aria-colindex="4" data-label="requestor" role="cell" class=""><div>zivwang</div></td><td aria-colindex="5" data-label="approver" role="cell" class=""><div>zivwang</div></td><td aria-colindex="6" data-label="Total amounts ($)" role="cell" class=""><div>4.00</div></td><td aria-colindex="7" data-label="Total Number of cards" role="cell" class=""><div>4</div></td><td aria-colindex="8" data-label="Request DateTime" role="cell" class=""><div>29/01/2021 15:32:04</div></td><td aria-colindex="9" data-label="Update DateTime" role="cell" class=""><div>29/01/2021 15:36:07</div></td><td aria-colindex="10" data-label=" Rejection Reason" role="cell" class=""><div></div></td></tr><tr role="row" tabindex="0" aria-rowindex="2" class=""><td aria-colindex="1" data-label="request id" role="cell" class=""><div>102</div></td><td aria-colindex="2" data-label="job order number" role="cell" class=""><div>ecTesting2</div></td><td aria-colindex="3" data-label="status" role="cell" class=""><div>Returned</div></td><td aria-colindex="4" data-label="requestor" role="cell" class=""><div>zivwang</div></td><td aria-colindex="5" data-label="approver" role="cell" class=""><div>zivwang</div></td><td aria-colindex="6" data-label="Total amounts ($)" role="cell" class=""><div>4.00</div></td><td aria-colindex="7" data-label="Total Number of cards" role="cell" class=""><div>4</div></td><td aria-colindex="8" data-label="Request DateTime" role="cell" class=""><div>29/01/2021 15:35:21</div></td><td aria-colindex="9" data-label="Update DateTime" role="cell" class=""><div>29/01/2021 16:44:41</div></td><td aria-colindex="10" data-label=" Rejection Reason" role="cell" class=""><div>Wrong top up amount</div></td></tr><!----><!----></tbody><!----></table>

标签: pythonhtmlseleniumxpath

解决方案


推荐阅读