如何使用 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()
广告