如何测试任何给定网页的页脚中的所有链接

时间:2018-06-04 03:34:48

标签: python selenium

我想测试任何给定网页的页脚部分中的所有链接。

前:

from selenium import webdriver
import requests

chrome_path = "/Users/tanmaykale/Downloads/chromedriver"
driver = webdriver.Chrome(chrome_path)

# -----------Getting footer content of apple.com------------

driver.get("http://www.apple.com")
footer = driver.find_element_by_tag_name('footer')
print footer
elems = footer.find_element_by_tag_name('div')
linkscount = len(elems)
print "Total No of link in footer of www.apple.com are : ",linkscount

程序应该返回页脚部分中的所有4个链接。 我提前感谢所有给予的帮助。

这是我尝试过的代码:

{{1}}

代码返回以下内容:

linkscount = len(elems) TypeError:'WebElement'类型的对象没有len()

1 个答案:

答案 0 :(得分:1)

我猜您对 find_element_by_tag_name find_elements_by_tag_name 方法感到困惑。

Find_element_by_tag_name 只返回选择中的一个元素(通常是第一个元素),而 find_elements_by_tag_name 返回页面/选择中可用的所有元素的列表。

更改下面的任何一个都可以解决问题。

links = footer.find_elements_by_tag_name('a')
links = footer.find_elements_by_css_selector('a')
links = footer.find_elements_by.xpath('.//a')