如何单击与列表中的另一个字符串位于同一行的链接?

2024-09-28 19:32:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我想单击与我复制到列表中的另一个链接/文本位于同一行的链接。最好的办法是什么?你知道吗

我想单击发票所在行的“编辑”按钮。我将所有发票复制到一个列表中,但我必须从每个发票中删除“invoice#”部分。你知道吗

谢谢你的帮助!你知道吗

<table id="div__bodytab" border="0" cellspacing="0" cellpadding="0" width="100%" style=""> <tbody><tr class="printonly"><td height="0" id="div__labprintcol1" nowrap="" class="listheadertdleft listheadertextb uir-list-header-td uir-list-header-align-ctr"><div class="listheader">Edit | View</div></td><td height="0" id="div__labprintcol2" nowrap="" class="listheadertd listheadertextb uir-list-header-td uir-list-header-align-rt"><div class="listheader">ID<span class="listheadersort"></span></div></td><td height="0" id="div__labprintcol3" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">ID2<span class="listheadersort"></span></div></td><td height="0" id="div__labprintcol4" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Customer<span class="listheadersort"></span><img class="uir-hover-icon" src="/images/hover/icon_hover.png?v=2019.2.0" alt="" border="0" style="vertical-align:middle;" title="This column is hoverable"></div></td><td height="0" id="div__labprintcol5" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Stripe Code&nbsp;<span class="listheadersortup"></span><span class="uir-list-header-sort-padding-after" style="padding-right:10px;"></span></div></td><td height="0" id="div__labprintcol6" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Event Date<span class="listheadersort"></span></div></td><td height="0" id="div__labprintcol7" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Invoice<span class="listheadersort"></span><img class="uir-hover-icon" src="/images/hover/icon_hover.png?v=2019.2.0" alt="" border="0" style="vertical-align:middle;" title="This column is hoverable"></div></td><td height="0" id="div__labprintcol8" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Invoice Sales Order<span class="listheadersort"></span></div></td><td height="0" id="div__labprintcol9" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Invoice Terms<span class="listheadersort"></span></div></td><td height="0" id="div__labprintcol10" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Event Type<span class="listheadersort"></span></div></td><td height="0" id="div__labprintcol11" nowrap="" class="listheadertd listheadertextb uir-list-header-td uir-list-header-align-rt"><div class="listheader">Balance<span class="listheadersort"></span></div></td></tr> <tr class="uir-list-row-tr uir-list-row-even" id="row0"> <td valign="top" class="listtextctr uir-list-row-cell" nowrap="" style=""><a class="dottedlink edititem" href="/app/common/custom/custrecordentry.nl?rectype=176&amp;id=214433&amp;e=T" xpath="1">Edit</a>&nbsp;|&nbsp;<a class="dottedlink viewitem" href="/app/common/custom/custrecordentry.nl?rectype=176&amp;id=214433">View</a></td> <td valign="top" class="listtextrt uir-list-row-cell" style=""><a href="/app/common/custom/custrecordentry.nl?rectype=176&amp;id=214433" target="_self" class="dottedlink">214433</a></td> <td valign="top" class="listtext uir-list-row-cell" style="">245950</td> <td valign="top" class="listtext uir-list-row-cell" style=""><a href="/app/common/entity/custjob.nl?id=7426843" class="dottedlink uir-hoverable-anchor" style="cursor:pointer;" id="qsTarget_1237261608" onmouseover="var win = (typeof parent.getExtTooltip != 'undefined' &amp;&amp; parent.getExtTooltip) ? parent : window; if (typeof win.getExtTooltip != 'undefined')var tip = win.getExtTooltip('qsTarget_1237261608', 'CUSTOMER', 'DEFAULT_TEMPLATE', 7426843,null);if(tip != undefined) tip.onTargetOver(event);">Salads &amp; Wraps</a></td> <td valign="top" class="listtext uir-list-row-cell" style="">funds</td> <td valign="top" class="listtext uir-list-row-cell" style="">11/14/2019</td> <td valign="top" class="listtext uir-list-row-cell" style=""><a href="/app/accounting/transactions/transaction.nl?id=13881996" class="dottedlink uir-hoverable-anchor" style="cursor:pointer;" id="qsTarget_720078194" onmouseover="var win = (typeof parent.getExtTooltip != 'undefined' &amp;&amp; parent.getExtTooltip) ? parent : window; if (typeof win.getExtTooltip != 'undefined')var tip = win.getExtTooltip('qsTarget_720078194', 'transaction', 'TRAN_TEMPLATE', 13881996,null);if(tip != undefined) tip.onTargetOver(event);">Invoice #INV10</a></td> <td valign="top" class="listtext uir-list-row-cell" style="">Order #0073</td> <td valign="top" class="listtext uir-list-row-cell" style="">On Shipping</td> <td valign="top" class="listtext uir-list-row-cell" style="">The account has insufficient funds </td> <td valign="top" class="listtextrt uir-list-row-cell" style="">476.00</td> </tr> <tr class="uir-list-row-tr uir-list-row-odd" id="row1"> <td valign="top" class="listtextctr uir-list-row-cell" nowrap="" style=""><a class="dottedlink edititem" href="/app/common/custom/custrecordentry.nl?rectype=176&amp;id=214502&amp;e=T">Edit</a>&nbsp;|&nbsp;<a class="dottedlink viewitem" href="/app/common/custom/custrecordentry.nl?rectype=176&amp;id=214502">View</a></td> <td valign="top" class="listtextrt uir-list-row-cell" style=""><a href="/app/common/custom/custrecordentry.nl?rectype=176&amp;id=214502" target="_self" class="dottedlink">214502</a></td> <td valign="top" class="listtext uir-list-row-cell" style="">3831</td> <td valign="top" class="listtext uir-list-row-cell" style=""><a href="/app/common/entity/custjob.nl?id=8650625" class="dottedlink uir-hoverable-anchor" style="cursor:pointer;" id="qsTarget_193242182" onmouseover="var win = (typeof parent.getExtTooltip != 'undefined' &amp;&amp; parent.getExtTooltip) ? parent : window; if (typeof win.getExtTooltip != 'undefined')var tip = win.getExtTooltip('qsTarget_193242182', 'CUSTOMER', 'DEFAULT_TEMPLATE', 8650625,null);if(tip != undefined) tip.onTargetOver(event);">Bbq and Pizzeria </a></td> <td valign="top" class="listtext uir-list-row-cell" style="">funds</td> <td valign="top" class="listtext uir-list-row-cell" style="">11/14/2019</td> <td valign="top" class="listtext uir-list-row-cell" style=""><a href="/app/accounting/transactions/transaction.nl?id=13552039" class="dottedlink uir-hoverable-anchor" style="cursor:pointer;" id="qsTarget_150766952" onmouseover="var win = (typeof parent.getExtTooltip != 'undefined' &amp;&amp; parent.getExtTooltip) ? parent : window; if (typeof win.getExtTooltip != 'undefined')var tip = win.getExtTooltip('qsTarget_150766952', 'transaction', 'TRAN_TEMPLATE', 13552039,null);if(tip != undefined) tip.onTargetOver(event);">Invoice #INV20</a></td> <td valign="top" class="listtext uir-list-row-cell" style="">Order #0068</td> <td valign="top" class="listtext uir-list-row-cell" style="">ACH on Shipping</td> <td valign="top" class="listtext uir-list-row-cell" style="">The account has insufficient funds</td> <td valign="top" class="listtextrt uir-list-row-cell" style="">1,027.18</td> </tr> <tr class="noprint uir-noprint-list-end" style="visibility: hidden;"><td height="0" id="div__labcol1" nowrap="" class="listheadertdleft listheadertextb uir-list-header-td uir-list-header-align-ctr"><div class="listheader">Edit | View</div></td><td height="0" id="div__labcol2" nowrap="" class="listheadertd listheadertextb uir-list-header-td uir-list-header-align-rt"><div class="listheader">ID<span class="listheadersort"></span></div></td><td height="0" id="div__labcol3" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">ID2<span class="listheadersort"></span></div></td><td height="0" id="div__labcol4" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Customer<span class="listheadersort"></span><img class="uir-hover-icon" src="/images/hover/icon_hover.png?v=2019.2.0" alt="" border="0" style="vertical-align:middle;" title="This column is hoverable"></div></td><td height="0" id="div__labcol5" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Stripe Code&nbsp;<span class="listheadersortup"></span><span class="uir-list-header-sort-padding-after" style="padding-right:10px;"></span></div></td><td height="0" id="div__labcol6" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Event Date<span class="listheadersort"></span></div></td><td height="0" id="div__labcol7" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Invoice<span class="listheadersort"></span><img class="uir-hover-icon" src="/images/hover/icon_hover.png?v=2019.2.0" alt="" border="0" style="vertical-align:middle;" title="This column is hoverable"></div></td><td height="0" id="div__labcol8" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Sales Order<span class="listheadersort"></span></div></td><td height="0" id="div__labcol9" ="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Invoice Terms<span class="listheadersort"></span></div></td><td height="0" id="div__labcol10" nowrap="" class="listheadertd listheadertextb uir-list-header-td"><div class="listheader">Event Type<span class="listheadersort"></span></div></td><td height="0" id="div__labcol11" nowrap="" class="listheadertd listheadertextb uir-list-header-td uir-list-header-align-rt"><div class="listheader">Balance<span class="listheadersort"></span></div></td></tr> </tbody></table>

Tags: dividstylelistclasstdrowheader
2条回答

似乎您想单击Edit基于特定的#INV数字,请尝试以下xpath

//tr[contains(.,"#INV10")]//td//a[text()="Edit"]

尝试将#INV10更改为#INV20,然后查看结果。你知道吗

我想说的是,如果你想根据发票id点击,你应该知道发票id的权利或至少它的一部分,例如:INV10。所以你需要像这样构造xpath

"//tr[ .//a[contains(text(),'INV10')]]//a[contains(@class, 'edititem')]"

xpath//tr[ .//a[contains(text(),'INV10')]]表示查找具有包含INV10的文本的子锚点的tr

但是如果你想让它是动态的,比如说它总是有INV+之类的东西,你可以在那里构造字符串并根据需要追加

String dummyVar = 10;
"//tr[ .//a[contains(text(),'INV"+dummyVar +"')]]//a[contains(@class, 'edititem')]"

抱歉,我不熟悉phyton,但应该可以理解。你知道吗

编辑:我假设id是INV10,但是当我查看时,您有id列。因此,如果id列是发票id,那么您可以

"//tr[ .//td[contains(text(),'245950')]]//a[contains(@class, 'edititem')]"

只是一个警告,如果您能够在id的td中至少放置class,以使您能够更准确地找到它,并且在xpath中发现了重合的2个元素的情况下更加健壮

相关问题 更多 >