擅长:python、mysql、java
<p>我想说的是,如果你想根据发票id点击,你应该知道发票id的权利或至少它的一部分,例如:INV10。所以你需要像这样构造xpath</p>
<pre><code>"//tr[ .//a[contains(text(),'INV10')]]//a[contains(@class, 'edititem')]"
</code></pre>
<p>xpath<code>//tr[ .//a[contains(text(),'INV10')]]</code>表示<strong>查找具有包含INV10的文本的子锚点的tr</p>
<p>但是如果你想让它是动态的,比如说它总是有INV+之类的东西,你可以在那里构造字符串并根据需要追加</p>
<pre><code>String dummyVar = 10;
"//tr[ .//a[contains(text(),'INV"+dummyVar +"')]]//a[contains(@class, 'edititem')]"
</code></pre>
<p>抱歉,我不熟悉phyton,但应该可以理解。你知道吗</p>
<p>编辑:我假设id是INV10,但是当我查看时,您有id列。因此,如果id列是发票id,那么您可以</p>
<pre><code>"//tr[ .//td[contains(text(),'245950')]]//a[contains(@class, 'edititem')]"
</code></pre>
<p>只是一个警告,如果您能够在id的<strong>td</strong>中至少放置class,以使您能够更准确地找到它,并且在xpath中发现了重合的2个元素的情况下更加健壮</p>