我们可以使用find_elements方法来计算Selenium页面中的帧总数。在框架上工作时,我们总是会在html代码中找到标记名,并且其值应为frame / iframe。
此特征仅适用于该特定页面上的框架,不适用于其他类型的UI元素,例如编辑框,链接等。
要检索所有标记名称为frame或iframe的元素,我们将使用find_elements_by_tag_name()方法。此方法返回具有在方法参数中指定的标记名类型的Web元素列表。如果没有匹配的元素,将返回一个空列表。
提取框架列表后,为了计算其总数,我们需要获取该列表的大小。列表的大小可以从len()
列表数据结构的方法中获得。
最终,此长度被打印在控制台上。
driver.find_elements_by_tag_name("frame")
代码实现对帧进行计数。
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()