iframe学习

 

1 iframe 主窗口操作 子窗口

2 iframe自适应高度的写法

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<iframe id="FF" src="b.html"></iframe>
<input type="submit" value=" OK " οnclick="OK()"/>
<script language="JavaScript">
	function OK()
	{
	    // 操作iframe中内容的CSS
	    var iframe = document.getElementById('FF');
	
	    //iframe.contentWindow  这是取出iframe里面的window 
	    var body = getIframeWindow(iframe).document.body;
	 
	    body.style.marginTop = 50;
	    body.style.padding = 0;
	    body.style.fontSize = 30;
	    body.style.textAlign = 'center';
	    body.style.backgroundColor = 'red';
	    body.style.color = 'blue';
	  
	}

	//操作iframe之前必须获取iframe中的window
	function getIframeWindow(iframeElement){
		//IE   w3c
		return iframeElement.contentWindow || iframeElement.contentDocument.parentWindow;
	}
</script>
</body>
</html>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
 33
   <div style="height: 500px;width: 100%">ddddddddddddddddddd<br /><br /><br /><br /><br /><br /><br><br><br><br><br>d</div>
  222222222
</body>
<script type="text/javascript">

	
	//更改iframe的高度为这个页面的高度
	var MainFrame = parent.document.getElementById("FF");
	alert( MainFrame.getAttribute('id') );
	//document.documentElement 是html节点
	MainFrame.style.height = getMaxOffsetHeight()+"px";//最好在这上面还加上一个常数,如10
    alert( MainFrame.style.height );
	
    alert( getMaxOffsetHeight());

    // 注意取出最大值 得到最大高度
    function getMaxOffsetHeight(){
    	return Math.max(document.documentElement.offsetHeight , document.body.offsetHeight );
    }
</script>
</html>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,使用Selenium库来处理iframe(内嵌框架)是很常见的。你可以使用find_element方法来定位iframe元素,并使用switch_to.frame方法切换到该iframe中进行操作。例如,你可以使用xpath来定位iframe元素,并切换到该iframe中,然后进行元素的填充和点击操作。代码示例如下: ```python from selenium import webdriver driver = webdriver.Chrome() driver.get("https://example.com") # 定位iframe元素并切换到该iframe iframe = driver.find_element_by_xpath('//div/div/iframe') driver.switch_to.frame(iframe) # 在iframe中进行操作 username_input = driver.find_element_by_id('username-input') username_input.send_keys('John') # 切换回主页面 driver.switch_to.default_content() # 其他操作... driver.quit() ``` 另外,如果你使用的是playwright库,你也可以使用frame_locator方法来定位iframe元素,并进行操作。例如,使用xpath的contains模糊匹配来定位iframe元素,并进行填充和点击操作。代码示例如下: ```python from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch(headless=False) page = browser.new_page() page.goto("https://mail.163.com/") # 使用xpath的contains模糊匹配定位iframe元素 frame = page.frame_locator('//iframe[contains(@id, "x-URS-iframe")]') # 或者使用css的正则匹配定位iframe元素 # frame = page.frame_locator('iframe[id^=x-URS-iframe') # 在iframe中进行操作 frame.locator('[name="email"]').fill('yoyoketang') frame.locator('[name="password"]').fill('123456') frame.locator('#dologin').click() # 其他操作... browser.close() ``` 总之,无论是使用Selenium还是playwright库,在Python中处理iframe都是通过定位iframe元素,并切换到该iframe中进行操作。根据需要选择适合你的库和定位方法即可。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [『python爬虫』23. selenium之窗口切换与iframe(保姆级图文)](https://blog.csdn.net/u011027547/article/details/129782970)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python+playwright 学习-4.操作iframe](https://blog.csdn.net/qq_27371025/article/details/129219967)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值