GVKun编程网logo

从网站请求完全用JavaScript呈现的html源,并找到所有iframe广告代码(网页从请求到显示的过程)

12

在本文中,您将会了解到关于从网站请求完全用JavaScript呈现的html源,并找到所有iframe广告代码的新资讯,同时我们还将为您解释网页从请求到显示的过程的相关在本文中,我们将带你探索从网站请

在本文中,您将会了解到关于从网站请求完全用JavaScript呈现的html源,并找到所有iframe广告代码的新资讯,同时我们还将为您解释网页从请求到显示的过程的相关在本文中,我们将带你探索从网站请求完全用JavaScript呈现的html源,并找到所有iframe广告代码的奥秘,分析网页从请求到显示的过程的特点,并给出一些关于HTML iframe和javascript、html 隐藏广告代码,Javascript实现关闭广告实现删除广告的效果、iframe里使用JavaScript控制主页转向的方法_javascript技巧、javascript IFrame 强制刷新代码_javascript技巧的实用技巧。

本文目录一览:

从网站请求完全用JavaScript呈现的html源,并找到所有iframe广告代码(网页从请求到显示的过程)

从网站请求完全用JavaScript呈现的html源,并找到所有iframe广告代码(网页从请求到显示的过程)

我目前正在尝试使用selenium和BeautifulSoup从网站检索所有iframe标签。问题是我没有得到所有的iframe,因为BS4不在网页中搜索内部的html文档,而且我不认为javascript在HTML内执行,因此可能有些HTML元素没有被渲染。是否有一个Web抓取工具,该工具可让我请求url,检索完全js呈现的HTML文件,然后搜索DOM并获取与iframe匹配的所有标签,即使在内部HTML代码中也是如此。

基本上,我能够在chrome inspector工具中看到我想要的所有标签,但它们未显示在从BS4中的find_all(’iframe’)函数检索的列表中。

这是我的代码:

from bs4 import BeautifulSoupimport requestsfrom selenium import webdriverbrowser = webdriver.Chrome(''C:/Users/G/chromedriver.exe'')browser.get("https://reddit.com")HTML = browser.page_sourceinnerHTML = browser.execute_script("return document.body.innerHTML")page = BeautifulSoup(innerHTML, ''html.parser'')for iframe in page.find_all(''iframe''):    print(iframe)browser.close()

答案1

小编典典

您可以使用以下代码块<iframe>专门获取所有标签 Selenium

from selenium import webdriverbrowser = webdriver.Firefox(executable_path=r''C:\Utility\BrowserDrivers\geckodriver.exe'')browser.get("https://reddit.com")frames_tag = browser.find_elements_by_tag_name("iframe")frames_xpath = browser.find_elements_by_xpath("//iframe")frames_css = browser.find_elements_by_css_selector("iframe")print("Frames detected through iframe tag are %s" %frames_tag)print("Frames detected through xpath are %s" %frames_xpath)print("Frames detected through css are %s" %frames_css)browser.quit()

我的控制台上的输出是:

Frames detected through iframe tag are [<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="ead39d06-0e39-4b40-9425-a86a1fe88d4f")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="1ce10f29-a620-4ce6-90e1-9da563046c70")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="ba8493e4-8246-47a0-9ed4-3f51b8c0f133")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="19c0f134-c243-47bd-96d1-6b06ff66a011")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="95d78fa6-fb4f-4b7c-89c5-9b85965f0e4c")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="e6d2d931-1f35-432f-8825-052e244fe798")>]Frames detected through xpath are [<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="ead39d06-0e39-4b40-9425-a86a1fe88d4f")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="1ce10f29-a620-4ce6-90e1-9da563046c70")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="ba8493e4-8246-47a0-9ed4-3f51b8c0f133")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="19c0f134-c243-47bd-96d1-6b06ff66a011")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="95d78fa6-fb4f-4b7c-89c5-9b85965f0e4c")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="e6d2d931-1f35-432f-8825-052e244fe798")>]Frames detected through css are [<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="ead39d06-0e39-4b40-9425-a86a1fe88d4f")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="1ce10f29-a620-4ce6-90e1-9da563046c70")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="ba8493e4-8246-47a0-9ed4-3f51b8c0f133")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="19c0f134-c243-47bd-96d1-6b06ff66a011")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="95d78fa6-fb4f-4b7c-89c5-9b85965f0e4c")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="98594106-54a6-4941-a6ab-cd9d92e9afa2", element="e6d2d931-1f35-432f-8825-052e244fe798")>]

HTML iframe和javascript

HTML iframe和javascript

我有两个iframe,每个iframe显示两个不同的html页面.两个html页面都引用一个包含全局变量的常见 javascript文件.如果我在html页面加载期间在一帧中设置该全局变量的值.是否可以使用相同的全局变量访问另一个iframe html页面的值?为什么或者为什么不?

解决方法

不. JavaScript范围空间的顶级是页面级别.但是,您可以使用window.parent访问其他页面的范围

html 隐藏广告代码,Javascript实现关闭广告实现删除广告的效果

html 隐藏广告代码,Javascript实现关闭广告实现删除广告的效果

目录

 

        1.先写基础的html样式

        2.添加后面会用到的css样式

        3.现在开始写script样式,我们先把需要获取到的元素获取到

        4.然后通过js添加一些css样式

        5.现在我们写点击事件

        6.我们现在优化一下,再加一个点击事件

        7.最终样式


 

1.先写基础的html样式

<!DOCTYPE html>
<html>
	<head>
		<Meta charset="utf-8">
		<title></title>
	
	</head>
	<body>
		<div id="div1">
			<div>告诉你件事。我是广告</div>
			<img src="./cha.png" alt="">
			<button>点我有惊喜</button>
			
		</div>
		
		
	
	</body>
</html>

2.添加后面会用到的css样式

<!DOCTYPE html>
<html>
	<head>
		<Meta charset="utf-8">
		<title></title>
		<style>
			.hover{
				width: 300px;
				height: 400px;
				background-color: red;
			}
			
			
			#div1{
				position: relative;
				
			}
			
			img{
				position: absolute;
				top: 10px;
				left: 260px;
			}
			
		</style>
	</head>
	<body>
		<div id="div1">
			<div>告诉你件事。我是广告</div>
			<img src="./cha.png" alt="">
			<button>点我有惊喜</button>
			
		</div>
		
	
	</body>
</html>

 

        3.现在开始写script样式,我们先把需要获取到的元素获取到


		
		<script>
			var sex1 = document.querySelector('#div1 div')
			// console.log(sex1)
			var imgs = document.querySelector('img')
			var btn = document.querySelector('button')
			
		</script>

4.然后通过js添加一些css样式


		
		<script>
			var sex1 = document.querySelector('#div1 div')
			// console.log(sex1)
			var imgs = document.querySelector('img')
			var btn = document.querySelector('button')
				sex1.className = 'hover'
				sex1.style.textAlign = 'center';
				sex1.style.lineHeight = '400px'
				btn.style.display = 'none';
		
		</script>

5.现在我们写点击事件

	<script>
			var sex1 = document.querySelector('#div1 div')
			// console.log(sex1)
			var imgs = document.querySelector('img')
			var btn = document.querySelector('button')
				sex1.className = 'hover'
				sex1.style.textAlign = 'center';
				sex1.style.lineHeight = '400px'
				btn.style.display = 'none';
				
				// console.log(sex1)
				imgs.onclick = function(){
					sex1.style.display = 'none';
					this.style.display = 'none';
					alert('拜了个拜');
					btn.style.display = 'block';
					
				}
				
				
			
		</script>

这里通过点击事件将sex1.style.display = 'none';this.style.display = 'none';属性设置好

 6.我们现在优化一下,再加一个点击事件


		<script>
			var sex1 = document.querySelector('#div1 div')
			// console.log(sex1)
			var imgs = document.querySelector('img')
			var btn = document.querySelector('button')
				sex1.className = 'hover'
				sex1.style.textAlign = 'center';
				sex1.style.lineHeight = '400px'
				btn.style.display = 'none';
				
				// console.log(sex1)
				imgs.onclick = function(){
					sex1.style.display = 'none';
					this.style.display = 'none';
					alert('拜了个拜');
					btn.style.display = 'block';
					
				}
				
				
				btn.onclick = function(){
					sex1.style.display = 'block';
					imgs.style.display = 'block';
					btn.style.display = 'none';
					alert('我又回来了');
				
				}
		</script>

7.最终样式

<!DOCTYPE html>
<html>
	<head>
		<Meta charset="utf-8">
		<title></title>
		<style>
			.hover{
				width: 300px;
				height: 400px;
				background-color: red;
			}
			
			
			#div1{
				position: relative;
				
			}
			
			img{
				position: absolute;
				top: 10px;
				left: 260px;
			}
			
		</style>
	</head>
	<body>
		<div id="div1">
			<div>告诉你件事。我是广告</div>
			<img src="./cha.png" alt="">
			<button>点我有惊喜</button>
			
		</div>
		
		
		<script>
			var sex1 = document.querySelector('#div1 div')
			// console.log(sex1)
			var imgs = document.querySelector('img')
			var btn = document.querySelector('button')
				sex1.className = 'hover'
				sex1.style.textAlign = 'center';
				sex1.style.lineHeight = '400px'
				btn.style.display = 'none';
				
				// console.log(sex1)
				imgs.onclick = function(){
					sex1.style.display = 'none';
					this.style.display = 'none';
					alert('拜了个拜');
					btn.style.display = 'block';
					
				}
				
				
				btn.onclick = function(){
					sex1.style.display = 'block';
					imgs.style.display = 'block';
					btn.style.display = 'none';
					alert('我又回来了');
				
				}
		</script>
	</body>
</html>

iframe里使用JavaScript控制主页转向的方法_javascript技巧

iframe里使用JavaScript控制主页转向的方法_javascript技巧

本文实例讲述了iframe里使用javascript控制主页转向的方法。分享给大家供大家参考。具体分析如下:

下面的JS代码写在iframe里面,点击按钮后整个网页会转向指定的url,而不是只转iframe里的页面

<!DOCTYPE html>
<html>
<head>
<script>
function breakout()
{
if (window.top!=window.self)
 {
 window.top.location="tryjs_breakout.htm";
 }
}
</script>
</head>
<body>
<input type="button" onclick="breakout()" 
value="Break out of frame!">
</body>
</html>
登录后复制

希望本文所述对大家的javascript程序设计有所帮助。

javascript IFrame 强制刷新代码_javascript技巧

javascript IFrame 强制刷新代码_javascript技巧

当第一次从主窗口进入到一个iframe简称{A}中,此时这个{A}中呈现的数据是新的,这时我又点了另外的一个iframe简称{B},这里{B}的数据也是新的,在{B}中进行一些逻辑处理,如向{A}中批量增加模型数据,这里我们再进入到{A}中会发现数据是被缓存着的。因为是从{B}中对批量操作了{A}的数据,{B}是与server通信的,也就是会进行逻辑层/持久层操作,这样server端更新的呈现部分是{B}而不是全部,这也就是局部刷新,只刷{B}。而我们需要做的是让{A}中的内容也跟着变。

解决方案:
·很明显iframe.window.location.reload();不符合当前需求。
·使用window.setTimeout(iframe.window.loadction.reload(),1000);这种方式会造成多次刷新,如果还要在{A}中对{B}的数据进行更新呢?
·研究了半天,其实可以直接从iframe cache问题入手来解决,很easy,直接不让它缓存不就完了,不缓存了,当然也就用不着刷新了。
示例:

复制代码 代码如下:

function doInsert2BatchCallBack() {
var pIf = parent.document.getElementById(''IFRAME_A'');
pIf.src = pIf.src + "&".concat(Math.random());
//提交批量导入请求
}

今天关于从网站请求完全用JavaScript呈现的html源,并找到所有iframe广告代码网页从请求到显示的过程的介绍到此结束,谢谢您的阅读,有关HTML iframe和javascript、html 隐藏广告代码,Javascript实现关闭广告实现删除广告的效果、iframe里使用JavaScript控制主页转向的方法_javascript技巧、javascript IFrame 强制刷新代码_javascript技巧等更多相关知识的信息可以在本站进行查询。

本文标签:

上一篇c – 在iPhone上获取蓝牙MAC地址(ios获取蓝牙mac地址)

下一篇NoClassDefFoundError:Selenium中的org / apache / http / HttpEntity for ChromeDriver吗?(selenium cannot find chrome binary)