2015-04-07 53 views
0

我想从网站中选择文档中的超链接,但不知道如何使用Selenium选择它。在使用Python和Selenium的html文档中选择超链接

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
names = 'Catostomus discobolus yarrowi' 
driver = webdriver.Firefox() 
driver.get("http://ecos.fws.gov/ecos/home.action") 
SciName = driver.find_element_by_id('searchbox') 
SciName.send_keys(names) 
SciName.send_keys(Keys.RETURN) 

上面的代码进入我感兴趣的页面,但不知道如何选择超链接。我有兴趣选择第一个超链接。感兴趣的HTML是

<a href="http://ecos.fws.gov/speciesProfile/profile/speciesProfile.action?spcode=E063" data-click="{&quot;p&quot;:1}">Zuni Bluehead Sucker (<strong>Catostomus discobolus</strong> yarrowi)</a> 
</h4> 
<div class='url'>ecos.fws.gov/speciesProfile/profile/speciesProfile.action?spcode=E063</div> 


<span class='description'> 
States/US Territories in which the Zuni Bluehead Sucker is known to or is believed to occur: Arizona, New Mexico; US Counties in which the Zuni ... 
</span> 
<ul class='sitelinks'></ul> 
</div> 

我猜我可以使用find_element_by_xpath,但一直未能成功地这样做。我会希望始终选择第一个超链接。此外,超链接名称将根据输入的物种名称而改变。

回答

0

我添加以下代码:

SciName = driver.find_element_by_css_selector("a[href*='http://ecos.fws.gov/speciesProfile/profile/']") 
SciName.click() 

我应该更仔细阅读硒文档。

0

试试这个:

SciName = driver.find_element_by_link_text("Zuni Bluehead Sucker") 
SciName.click()