首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何相对于另一个innerText元素的innerText提取<td>元素的innerText

如何相对于另一个innerText元素的innerText提取<td>元素的innerText
EN

Stack Overflow用户
提问于 2018-04-24 10:29:32
回答 2查看 938关注 0票数 0

我在python中使用selenium。我碰到了这张桌子上的小结。我需要检查一个字符串是否存在于webelement中,并返回相应的字符串以防止其存在。

代码语言:javascript
复制
<table width="700px" class="tableListGrid">
    <thead>
        <tr class="tableInfoTrBox">
            <th>Date</th>
            <th>Task Code</th>
            <!-- th>Phone Number</th -->
            <th>Fota Job</th>
            <th colspan="2" class="thLineEnd">Task Description</th>
        </tr>
    </thead>
    <tbody>                         
        <tr class="tableTr_r">                                                                                      
            <td>2018-04-06 05:48:29</td>
            <td>FU</td>
            <!-- td></td -->
            <td>
                <a href="javascript:checkSchedule('57220180406-JSA69596727');">57220180406-JSA69596727</a>
            </td>
            <td style="text-align:left;">
                                       updated from [A730FXXU1ARAB/A730FOJM1ARAB/A730FXXU1ARAB] to [A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9] 
            </td>
            <td>
                <table class="btnTypeE">
                    <tr>
                        <td>
                        <a href="#syncml" class="02320180406WSA84301933" onclick="showSyncML('IMEI352020090050529', '02320180406WSA84301933')">View</a>
                        </td>
                    </tr>
                </table>
            </td>
        </tr>                                           
    </tbody>
</table>

我需要在此元素中搜索"A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9“,并返回"57220180406-JSA69596727”,该“57220180406-JSA69596727”位于网页中的另一个位置。在硒中可以吗?

编辑:清除代码,使其只包含有用的数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-24 11:10:28

这可以通过使用以下Xpath查找元素来实现:

代码语言:javascript
复制
//td[contains(., 'A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9')]/preceding-sibling::td[1]/a

Xpath可以读为

查找包含"A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9“的td。然后在找到的td之前找到td并移动到a标记

之后,您可以使用selenium获取文本。

代码语言:javascript
复制
driver.find_element(By.XPATH, '//td[contains(., 'A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9')]/preceding-sibling::td[1]/a').text
票数 2
EN

Stack Overflow用户

发布于 2018-04-24 11:24:00

要查找文本e.g.A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9并查找关联的文本,例如57220180406-JSA69596727,,您可以编写如下函数:

代码语言:javascript
复制
def test_me(myString):
        myText = driver.find_element_by_xpath("//table[@class='tableListGrid']//tbody/tr[@class='tableTr_r']//td[.='" + myString + "']//preceding::td[1]/a").get_attribute("innerHTML")

现在,在您的main()/@Test中,您可以使用所需的文本调用函数,如下所示:

代码语言:javascript
复制
test_me("A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49999407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档