首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查是否有任何子元素符合从同级DOM开始的特定单词

检查是否有任何子元素符合从同级DOM开始的特定单词
EN

Stack Overflow用户
提问于 2022-03-10 06:43:46
回答 1查看 43关注 0票数 -1

我想看看哪个兄弟姐妹有一个特定的文本‘应用’。因为没有绝对的参考资料,所以我从“国防部”这个词开始我的搜索。之后,我搜索:td/div/table/tbody:td/div/table/tbody,然后我想知道以下'tr‘(在本例中为2)中是否有'app’这个词。然后,导航到元素并单击它。

以下是HTML:

代码语言:javascript
复制
<tr align="center">
    <td align="left" valign="top" style="width:30%;">Application</td>
    <td align="left" valign="top" style="width:30%;">DOD 11-24-2021</td>
    <td align="right" valign="middle" style="width:32%;">
        <div>
            <table class="Nested_ChildGrid" cellspacing="0" cellpadding="0" rules="rows" border="0" id="ctl00_ContentPlaceHolder1_gridViewEvents_ctl15_gridViewEventDocs" style="color:Black;border-width:0px;border-style:None;width:100%;border-collapse:collapse;">
                <tbody>
                    <tr align="center">
                        <td align="center" valign="middle" style="width:70px;">
                        <td align="left" valign="middle" style="width:75%;">
                            <span id="ctl00_ContentPlaceHolder1_gridViewEvents_ctl15_gridViewEventDocs_ctl02_lblDocDesc">Application</span>
                        </td>
                        <td class="Hide" style="width:90px;">&nbsp;</td>
                        <td style="width:40px;">3</td>
                        <td class="Hide">4</td>
                        <td class="Hide">18200854</td>
                        <td align="right" valign="middle" style="width:60px;">
                            <a id="ctl00_ContentPlaceHolder1_gridViewEvents_ctl15_gridViewEventDocs_ctl02_HyperLinkFCEC" class="doclinks hidden-print" aria-label="Document ID" href="Ecomm/ViewEdocs.aspx?ID=uhJ1x784NcaNrVVzKW0vYhObQ19y7BXopEw8HPMBvPh59c8wKiz7EfP0U9mCs68+xxQ9sHISXdf9TbzLHLm9u3qat1tCpKJn7jkKCXxMf3CGdx1PMPNivnJv5+IoPv/FaerVR/7cUZCYG+WJjeFE0/4qN1D5ZZGZAl9+i1QlqiXCZyQI10yEtQc9FF2/d0mn" target="_blank">View</a>
                            <a id="ctl00_ContentPlaceHolder1_gridViewEvents_ctl15_gridViewEventDocs_ctl02_HyperLinkFCECLegacy" class="doclinks hidden-print" aria-label="Document ID" href="Ecomm/ViewEdocs.aspx?ID=KMjX55lU5BVhR9pieAD4vZ06nmikECALhQiRaHwCUvFJVB0oLK/aItQZWZ7AYse5NEZaq+5vZ+uM26hmC5u2Lklzx02fM/sralEBjeeLz/+QayOXHkcVDGSG8y52q5CG1CcLxXRHqpChF5pMkTPvLp6oTyQgVUXB6a2eQHUYKGz+tTboJtXPdYTift/M68Uo" target="_blank"></a>
                        </td>
                    <tr align="center">
                        <td align="center" valign="middle" style="width:70px;">
                        <td class="Hide">40448965</td>
                        <td align="left" valign="middle" style="width:75%;">
                            <span id="ctl00_ContentPlaceHolder1_gridViewEvents_ctl15_gridViewEventDocs_ctl03_lblDocDesc">Document</span>
                        </td>
                        <td class="Hide" style="width:90px;">&nbsp;</td>
                        <td style="width:40px;">27</td><td class="Hide">4</td>
                        <td class="Hide">18200855</td>
                        <td align="right" valign="middle" style="width:60px;">  
                              <a id="ctl00_ContentPlaceHolder1_gridViewEvents_ctl15_gridViewEventDocs_ctl03_HyperLinkFCEC" class="doclinks hidden-print" aria-label="Document ID" href="Ecomm/ViewEdocs.aspx?ID=uhJ1x784NcaNrVVzKW0vYslV1nQ3hIRYmXLxbQq33tyshCGyHbOIapchVlNHL/s6sP+5f245ruOERRUrUYOrpDvAZFR42jcGUshFcX0WcMX/1Ds0ACEkxbDF0eRUp5DOJADJWKC/sJ23XH2yH6W4IJrWYGJEcqPrcIUgkyRWqCByEnW0a9EhaaoRk0ocHKwK" target="_blank">View</a>
                              <a id="ctl00_ContentPlaceHolder1_gridViewEvents_ctl15_gridViewEventDocs_ctl03_HyperLinkFCECLegacy" class="doclinks hidden-print" aria-label="Document ID" href="Ecomm/ViewEdocs.aspx?ID=KMjX55lU5BVhR9pieAD4vZ1FGtwzRAaZfXZY4CPE4p5XSrA4rq/HgZJGXPnI2Kl2vx8vyKEZmh2chQz0Pw13X2YMFwRVg83JzCI/gTQFB1L+NKDaHm2c8Cxjs9UzF5U7u5jq9KLxemMKWMSqI+IaUv0wdeuSsaS2LMFBPnmYClZmdrCp955OJux9WvsrcJH9" target="_blank"></a>
                        </td>
                    </tr>

下面是一些我一直在尝试但没有成功的代码:

代码语言:javascript
复制
path = driver.find_element(By.XPATH, '//td[contains(text(), "DOD")]/following-sibling::td/div/table/tbody/*/*/span[contains(text(), "app")]/parent::*/td[5]/a').click()

提前谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-10 09:07:43

要将文本中的<td>元素标识为DOD,并以文本作为App查找相应的<span>,然后单击相应的<a>标记,将文本作为视图,您需要为诱导WebDriverWait,您可以使用以下

使用XPATH的

(驱动程序,20).until(EC.element_to_be_clickable((By.XPATH,“//tdstarts with(.,'DOD')//following-sibling::td[.//spanstarts-with(.,'App')]//following-sibling::td[.//atext()='View']"))).click() ))

  • Note:您必须添加以下导入:

从selenium.webdriver.support.ui导入WebDriverWait从selenium.webdriver.common.by导入从selenium.webdriver.support导入expected_conditions作为EC

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71419846

复制
相关文章

相似问题

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