如何用 Python 处理 Selenium 中的框架/iFrames
原文:https://www . geesforgeks . org/如何处理框架-python Selenium中的 iframe/
Selenium是通过程序控制互联网浏览器的有效设备。它对所有浏览器都是有目的的,适用于所有基本操作系统,其脚本是用许多语言编写的,如 Python、Java、C#等,我们可以用 Python 运行。
HTML 大纲用于将您的程序窗口隔离成多个部分,每个部分可以堆叠不同的 HTML 报告。程序窗口中的各种边被称为框架集。窗口被分割成轮廓,同样表格被组成:线和段。
要求:需要安装 chromedriver 并设置路径。 点击此处 下载,详情如下 此链接 。
处理框架/画框:-
switch_to.frame(名称)
流程:
此网页分为三个框架,左上方(第一个框架)和左下方(第二个框架)以及第三个框架。所有的框架都是相互连接的。然后我们通过Selenium来执行这些动作:
- 首先,切换到默认帧到第一帧。
- 然后使用链接文本方法找到元素
- 回到默认框架。
- 然后转到第二帧
- 使用链接文本方法查找元素
- 回到默认框架
- 然后切换到第三帧。
- 然后通过 x 路径找到元素。
实施:
Python 3
# importing the modules
from selenium import webdriver
from selenium.webdriver.support.ui import Select
import time
# using chrome driver
driver = webdriver.Chrome()
# web page url
driver.get("https://www.selenium.dev/selenium/docs/api/java/index.html")
# switch to 1st frame
driver.switch_to.frame("packageListFrame")
# click on 1st frame
driver.find_element_by_link_text("org.openqa.selenium.opera").click()
# back to default web page frame
driver.switch_to.default_content()
# switch to 2nd frame
driver.switch_to.frame("packageFrame")
# click on 2nd frame
driver.find_element_by_link_text("OperaOptions").click()
# back to default web page frame
driver.switch_to.default_content()
# switch to 3rd frame
driver.switch_to.frame("classFrame")
# click on 2nd frame
driver.find_element_by_xpath('/html/body/div[1]/ul/li[4]/a').click()
time.sleep(4)
输出:–
[https://media.geeksforgeeks.org/wp-content/uploads/20200928221221/frame.mp4](https://media.geeksforgeeks.org/wp-content/uploads/20200928221221/frame.mp4)版权属于:月萌API www.moonapi.com,转载请注明出处