【发布时间】:2014-08-16 03:57:06
【问题描述】:
我正在处理的页面位于 this link。
这是该页面的相关部分:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>...</head>
<body>
...
<div id="searchResults">
<div class="box-related">...</div>
<a href='downloadDataServlet?category=true&type=epar' onclick=""><img src="/ema/images/icon_download_spread.gif" />Download results to spreadsheet</a>
<div class="table-holder">
<table class="table-epar eparResults" border="1" cellpadding="0" cellspacing="0" summary="Search results for EPARs ordered alphabetically">
<caption>EPAR Search results</caption>
<thead> ... </thead>
<tbody>
<tr>
<th scope="row" class="key-detail name word-wrap">
<a href="index.jsp?curl=pages/medicines/human/medicines/000471/human_med_000619.jsp&mid=WC0b01ac058001d124">Abilify</a>
</th>
...
</tr>
<tr>...</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>
这是我希望选择的元素的 XPath 位置:
//*[@id="searchResults"]/div[2]/table/tbody/tr[1]/th/a
但是搜索页面上可能有很多结果,所以我想点击 URL 中包含我正在搜索的产品编号的链接(在本例中为 000471)。我想在href 属性中选择包含该字符串的<a> 元素。
这是我尝试过的:
inp = driver.find_element_by_xpath("//*[@id='searchResults']/div[2]/table/tbody/tr[1]/th/a[contains(@href,'"+str3+"')]")
inp.click()
在这种情况下,str3 的值为 000471。但我不断收到NoSuchElementException。
任何帮助将不胜感激!
【问题讨论】:
-
您链接的页面中没有字符串“searchResults”,因此使用它的 XPath 表达式永远不会找到任何东西。
-
我忘记添加我实际搜索的页面:ema.europa.eu/ema/…