如何用python计算Selenium中的帧总数?

我们可以使用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()
猜你喜欢