使用Selenium和Chrome驱动程序:
links = browser.find_elements_by_partial_link_text('##')
匹配约160个链接。
如果我试试,
for link in links:
print link.text
用它我得到所有链接的文本:
##1
##2
...
##160
链接是这样的:
<a href="1.html">##1</a>
<a href="2.html">##2</a>
...
<a href="160.html">##160</a>
如何获取所有找到的链接的href
属性?
答案 0 :(得分:62)
您只需要在找到的每个链接上调用get_attribute。所以以下内容应该有效:
links = browser.find_elements_by_partial_link_text('##')
for link in links:
print link.get_attribute("href")
现在应该输出你需要的东西。
答案 1 :(得分:0)
An existing answer类似的问题似乎可能适用:
假设
你的HTML只包含那个标签,那么应该这样做:
String href = selenium.getAttribute("css=a@href");
您使用
DefaultSelenium#getAttribute()
方法并传入CSS定位器,@
符号以及要获取的属性的名称。在这种情况下,您选择a
并获取其@href
。
因此,如果链接包含“..blablabla ...”文本,那么您可以通过这种方式找到它:
selenium.getAttribute("css=a:contains('..blablabla...')@href");