返回顶部
首页 > 资讯 > 精选 >selenium怎么处理iframe作用域问题
  • 805
分享到

selenium怎么处理iframe作用域问题

2023-06-14 15:06:08 805人浏览 泡泡鱼
摘要

这篇文章给大家分享的是有关selenium怎么处理iframe作用域问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在使用python进行爬虫操作的过程中,一般为了防止爬虫,会使用iframe,但是由于ifra

这篇文章给大家分享的是有关selenium怎么处理iframe作用域问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

在使用python进行爬虫操作的过程中,一般为了防止爬虫,会使用iframe,但是由于iframe有限制,iframe是前端内嵌页面,访问域名与主网页不同,所以有时会得到不自己想要的数据。本文针对抓包工具定位没有定位到iframe中的小的html中提供解决方法。

以文本块生成xpath为/html/body/text(),根据xpath进行如下代码编写。

#!/user/bin/# -*- coding:UTF-8 -*-# Author:Masterfrom selenium import WEBdriverimport timedriver = webdriver.Chrome(executable_path="./chromedriver")driver.get('https://www.runoob.com/try/runcode.PHP?filename=HelloWorld&type=python3')time.sleep(2)text = driver.find_element_by_xpath('/html/body').textprint(text)time.sleep(5)driver.quit()

得到结果

selenium怎么处理iframe作用域问题

原因分析

当我们打开抓包工具定位到Hello, World!文本的时候会发现,该文本是在一个iframe中。这样的话我们xpath所定位到的内容则是大的html中的路径。我们需要的内容则是在iframe中的小的html中。

解决方法

通过分析发现,想要解决问题的实质就是改变作用域。通过switch_to.frame(‘id’)方法来改变作用域就可以了。

重新编写代码:

#!/user/bin/# -*- coding:UTF-8 -*-# Author:Masterfrom selenium import webdriverimport timedriver = webdriver.Chrome(executable_path="./chromedriver")driver.get('Https://www.runoob.com/try/runcode.php?filename=HelloWorld&type=Python3')time.sleep(2)driver.switch_to.frame('iframeResult')text = driver.find_element_by_xpath('/html/body').textprint(text)time.sleep(5)driver.quit()

运行结果

selenium怎么处理iframe作用域问题

感谢各位的阅读!关于“selenium怎么处理iframe作用域问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: selenium怎么处理iframe作用域问题

本文链接: https://lsjlt.com/news/272666.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • selenium怎么处理iframe作用域问题
    这篇文章给大家分享的是有关selenium怎么处理iframe作用域问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在使用python进行爬虫操作的过程中,一般为了防止爬虫,会使用iframe,但是由于ifra...
    99+
    2023-06-14
  • 怎么用iframe设置代理解决ajax跨域请求问题
    本篇内容介绍了“怎么用iframe设置代理解决ajax跨域请求问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2024-04-02
  • selenium中BasicAuth认证弹框问题怎么处理
    本文小编为大家详细介绍“selenium中BasicAuth认证弹框问题怎么处理”,内容详细,步骤清晰,细节处理妥当,希望这篇“selenium中BasicAuth认证弹框问题怎么处理”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-07-02
  • IE9 IE8 ajax跨域问题怎么处理
    这篇文章主要介绍了IE9 IE8 ajax跨域问题怎么处理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。网上解决办法均是 在发起请求之前添加...
    99+
    2024-04-02
  • 怎么让iframe可以跨域访问
    要让iframe可以跨域访问,需要在被嵌入的页面和嵌入页面的服务器端做一些配置。在被嵌入的页面中,可以通过设置`document.d...
    99+
    2023-08-08
    iframe
  • Laravel处理跨域问题
    写在前面:vue + PHP  +laravel 最近小编在写前端接口的时候,遇到了跨域问题。 报错如下: 解决思路: 在app\Http\Middleware 下创建CrossHttp.php配置文件; ...
    99+
    2023-10-12
    laravel php
  • 使用iframe怎么实现跨域
    使用iframe怎么实现跨域?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。为什么会跨域为了保证用户信息的安全,95年的时候Netscape公司引进了同源策略,里面的同源指的是三...
    99+
    2023-06-09
  • Javascript作用域问题是怎样的
    本篇文章为大家展示了Javascript作用域问题是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在前端学习中,作用域这个问题一直被广泛提起,什么是作用域,什...
    99+
    2024-04-02
  • 怎么解决iframe标签嵌套问题
    小编给大家分享一下怎么解决iframe标签嵌套问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!问题描述当我们使用easyui做后台管理系统的时候,会使用tree...
    99+
    2023-06-09
  • 使用postMessage怎么实现iframe跨域
    今天就跟大家聊聊有关使用postMessage怎么实现iframe跨域,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。postMessage是什么此处引用MDN关于postMessag...
    99+
    2023-06-09
  • 怎么处理HDFS问题
    这篇文章主要介绍“怎么处理HDFS问题”,在日常操作中,相信很多人在怎么处理HDFS问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么处理HDFS问题”的疑惑有所帮助!接...
    99+
    2024-04-02
  • java后台调用接口及处理跨域问题怎么解决
    这篇文章主要介绍“java后台调用接口及处理跨域问题怎么解决”,在日常操作中,相信很多人在java后台调用接口及处理跨域问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java后台调用接口及处理跨域...
    99+
    2023-06-29
  • 怎么使用vue处理seo问题
    这篇文章主要介绍了怎么使用vue处理seo问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用vue处理seo问题文章都会有所收获,下面我们一起来看看吧。服务器端渲染(SSR)最好的解决方案是使用服务器端...
    99+
    2023-07-05
  • 怎么处理Docker代理问题
    本篇内容主要讲解“怎么处理Docker代理问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么处理Docker代理问题”吧!在本地安装Kubernetes时,遇到错误消息:request ca...
    99+
    2023-06-04
  • 域名解析出问题如何处理
    域名解析出问题的处理方法:1、检查网站域名解析时,域名是否设置正确;2、网络不稳定时会导致域名解析不成功,因此需要检查网站空间是否存在故障问题;3、注册商一般都是用自身服务器进行域名解析的,因此需要检查域名供应商的操作是否存在问题;4、DN...
    99+
    2024-04-02
  • 使用postMessage怎么解决iframe跨域通信
    这篇文章将为大家详细讲解有关使用postMessage怎么解决iframe跨域通信,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先我们模拟场景,假设有两个不同源的页面,iframePage...
    99+
    2023-06-09
  • Vite代理怎么解决跨域问题
    本篇内容主要讲解“Vite代理怎么解决跨域问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vite代理怎么解决跨域问题”吧!Vite Proxy我们这里以 Vite 的配置为例,来看一下如何给...
    99+
    2023-07-05
  • Kubernetes应用部署问题怎么处理
    这篇文章主要讲解了“Kubernetes应用部署问题怎么处理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Kubernetes应用部署问题怎么处理”吧!1、应用部署问题处理的整体思路在将容器...
    99+
    2023-06-04
  • 浅谈Nodejs中的作用域问题
    在JS中有全局作用域和函数作用域,而在Nodejs中也自己的作用域,分为全局作用域(global)和模块作用域。 js作用域: 以前学js的时候我们的全局对象是window,如: var a = 10;...
    99+
    2022-06-04
    浅谈 作用 Nodejs
  • 怎么在Python中利用Selenium处理异常
    这篇文章将为大家详细讲解有关怎么在Python中利用Selenium处理异常,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python的优点有哪些1、简单易用,与C/C++、Java、C# ...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作