如何使用 Python 和 Selenium 统计页面中 iframe 的总数?


我们可以借助 find_elements 方法在 Selenium 中统计页面中 iframe 的总数。在处理 iframe 时,我们始终会在 html 代码中找到标签名称,其值应为 frame/iframe。

此特性仅适用于该页面上的 iframe,不适用于其他类型的 UI 元素,例如编辑框、链接等。

要检索所有标签名为 frame 或 iframe 的元素,我们将使用 find_elements_by_tag_name() 方法。此方法返回一个包含指定标签名称类型的 Web 元素列表。如果没有匹配的元素,则返回一个空列表。

获取 iframe 列表后,为了统计其总数,我们需要获取该列表的大小。列表的大小可以通过列表数据结构的 len() 方法获取。

最后,此长度将打印到控制台。

语法

driver.find_elements_by_tag_name("frame")

示例

统计 iframe 的代码实现。

from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
# to maximize the browser window
driver.maximize_window()
#get method to launch the URL
driver.get("https://the-internet.herokuapp.com")
#to refresh the browser
driver.refresh()
driver.find_element_by_link_text("Frames").click()
driver.find_element_by_link_text("Nested Frames").click()
#to get the list of frames present on the web page
l = driver.find_elements_by_tag_name('frame')
#print the count with the len method on console
print(len(l))
#to close the browser
driver.quit()

更新于: 2020-07-29

1K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告