在网页的表格中,左侧有几个纯文本元素(文件名),还有几个文件的PDF超链接:
Red report Download PDF
Blue report Download PDF
Green report Download PDF
有几个这样的页面,文件总是以相同的顺序排列。
Red report Download PDF
Green report Download PDF
Blue report Download PDF
等。
我只需要Green report
的pdf。使用find_element在页面中查找文本Green report
很简单。我不知道该怎么做是将驱动程序集中在文本右侧的链接上。 xpath不起作用,因为它在页面之间有所不同,不幸的是,href中的pdf标题没有"绿色报告"或类似的东西 - 它只是一堆数字。
但是,link元素始终遵循html中的filename元素。我需要做的是告诉selenium:"找到文本Green report
,然后点击该文本后html中出现的第一个链接。"
我看起来很高低,甚至不知道如何去做,所以我无法提供我尝试过的代码片段。
这是一个实际的例子:
<tr id="detailMainForm:j_idt922:0" class="rf-dt-r rf-dt-fst-r oddRow"><td id="detailMainForm:j_idt922:0:j_idt924" class="rf-dt-c" style="width:10%;">09.07.2015</td><td id="detailMainForm:j_idt922:0:j_idt927" class="rf-dt-c" style="width:50%;">Translation of the ISR</td><td id="detailMainForm:j_idt922:0:j_idt930" class="rf-dt-c" style="width:15%;"><a href="/search/docservicepdf_pct/id00000029896067/ETISR/WO2015102081.pdf">PDF (1p.)</a></td><td id="detailMainForm:j_idt922:0:j_idt935" class="rf-dt-c" style="width:25%;"><a href="/search/docservicepdf_pct/id00000029896067/ETISR/WO2015102081.pdf?download">PDF (1p.)</a>, <a href="/search/docservicepct_file/WOid00000029896067/ETISR/WO2015102081.zip">ZIP(XML + TIFFs)</a></td></tr>
Translation of the ISR
是与#34;绿色报告&#34;相对应的文字。在我上面的例子中。
PDF (1p.)
的第一个实例(恰好有两个 - 有时还有更多)对应于&#34;下载PDF。&#34;
答案 0 :(得分:1)
此XPath返回包含.pdf
href的链接元素,该行包含文本“ISR的翻译”:
//tr[td='Translation of the ISR']//a[contains(@href, '.pdf')]