38

我正在尝试通过 Selenium 进行一些网页抓取。我的问题很简单:你如何找到一个链接,然后你如何点击它?例如:以下是我试图网络抓取的 HTML:

<td bgcolor="#E7EFF9">
  <a href="javascript:selectDodasaDetdasdasy(220011643,'Kdasdası');" target="_self">
   Details
  </a>
</td>

因此,如您所见,“详细信息”一词是一个链接。

如何使用 Selenium 找到该链接并单击它?

4

4 回答 4

72

您可以使用find_element_by_link_text

例如:

link = driver.find_element_by_link_text('Details')

要点击它,只需调用 click 方法:

link.click()
于 2013-09-03T17:10:55.007 回答
2

然后你可以尝试这样的事情。

for (int i=0; i&lttd.length(); i++){
        driver.find_element_by_xpath("(//a[contains(text(),'Details')])[i]").click()
        }
于 2013-09-04T16:26:35.277 回答
0

您可以尝试使用 xpath 定位器单击链接,例如

link=driver.find_element_by_xpath(.//*[@id="content"]/div[3]/div/div/div[2]/h4)

link.click()
于 2016-09-16T16:10:03.850 回答
-2

每个人都错过了一件事。它是由以下语句列出的。您需要从此列表中选择一个元素。

driver.find_element_by_link_text('Details')

如果你检查

for i in driver.find_element_by_link_text('Details')
    i.click()

答对了 :-)

于 2017-10-14T17:34:36.387 回答