网站建设要如何选择网站宣传推广

diannao/2025/10/25 21:36:55/文章来源:
网站建设要如何选择,网站宣传推广,附近找装修公司,盐城网站设计目录 1. 切换 Frame 2. 前进后退 3. 对 Cookies 操作 4. 选项卡管理(了解) 5. 异常处理 6. 反屏蔽 7. 无头模式 1. 切换 Frame 我们知道网页中有一种节点叫作 iframe#xff0c;也就是子 Frame#xff0c;相当于页面的子页面#xff0c;它的结构和外部网页的结构完全…目录 1. 切换 Frame 2. 前进后退 3. 对 Cookies 操作 4. 选项卡管理(了解) 5. 异常处理 6. 反屏蔽 7. 无头模式 1. 切换 Frame 我们知道网页中有一种节点叫作 iframe也就是子 Frame相当于页面的子页面它的结构和外部网页的结构完全一致(见下图子页面和外部网页)。Selenium 打开页面后它默认是在父级 Frame 里面操作而此时如果页面中还有子 Frame它是不能获取到子 Frame 里面的节点的。 外部网页 子网页 尝试获取 id 为 droppable 的节点 from selenium import webdriver browser webdriver.Chrome() url https://www.runoob.com/try/try.php?filenamejqueryui-api-droppable browser.get(url) drop browser.find_element_by_id(droppable) drag browser.find_element_by_id(draggable) print(drop) print(drag) 这时就需要使用 switch_to.frame() 方法来切换 Frame。在获取节点drop前加一行代码。 browser.switch_to.frame(iframeResult) 结果 在子页面那如何切换回父页面呢使用switch_to.parent_frame()不切换是获取不到的会报错。以下代码在上方代码下进行 browser.switch_to.parent_frame() logo browser.find_element_by_class_name(logo) print(logo) 2. 前进后退 平常使用浏览器时都有前进和后退功能Selenium 也可以完成这个操作它使用 back() 方法后退使用 forward() 方法前进。示例如下  import time from selenium import webdriverbrowser webdriver.Chrome() browser.get(https://www.baidu.com/) browser.get(https://www.taobao.com/) browser.get(https://www.python.org/) browser.back() time.sleep(1) browser.forward() browser.close() 这里我们连续访问 3 个页面然后调用 back() 方法回到第二个页面接下来再调用 forward() 方法又可以前进到第三个页面。 3. 对 Cookies 操作 使用 Selenium还可以方便地对 Cookies 进行操作例如获取、添加、删除 Cookies 等。示例如下 from selenium import webdriverbrowser webdriver.Chrome() browser.get(https://www.zhihu.com/explore) print(browser.get_cookies()) browser.add_cookie({name: name, domain: www.zhihu.com, value: germey}) print(browser.get_cookies()) browser.delete_all_cookies() print(browser.get_cookies()) 输出如下 [{domain: www.zhihu.com, httpOnly: False, name: osd, path: /, sameSite: Lax, secure: False, value: V1ocBUkf2nzTPx8pNBwqqyhuCWsgK5oRpm1ZTFFNlUGUVyFtdui_krU_Ey0_gBglVylVNsNamm6W9zrlar9JYPk}, {domain: www.zhihu.com, httpOnly: False, name: JOID, path: /, sameSite: Lax, secure: False, value: WlocAEoS2nzWPBIpNBkppihuDGgtK5oUpWBZTFROmEGUUiJgdui6kbg_Eyg8jRglUipYNsNfmWOW9z_mZ79JZfo}, {domain: .zhihu.com, expiry: 1741067645, httpOnly: False, name: Hm_lvt_98beee57fd2ef70ccdd5ca52b9740c49, path: /, sameSite: Lax, secure: False, value: 1709531646}, {domain: .zhihu.com, expiry: 1744091643, httpOnly: False, name: d_c0, path: /, sameSite: Lax, secure: False, value: ANAb2lgVQhiPTrftnfH4Ix-h3eEqjOywHYA|1709531641}, {domain: .zhihu.com, httpOnly: False, name: _xsrf, path: /, sameSite: Lax, secure: False, value: 5fe3527d-f272-4b5a-8b86-18e0418953c6}, {domain: .zhihu.com, httpOnly: False, name: Hm_lpvt_98beee57fd2ef70ccdd5ca52b9740c49, path: /, sameSite: Lax, secure: False, value: 1709531646}, {domain: www.zhihu.com, httpOnly: False, name: SESSIONID, path: /, sameSite: Lax, secure: False, value: 3KbqUAnjUH6Hl9CImOgmWl2acunCWhFuo51qSj8XEUI}, {domain: www.zhihu.com, httpOnly: False, name: KLBRSID, path: /, sameSite: Lax, secure: False, value: f48cb29c5180c5b0d91ded2e70103232|1709531643|1709531641}, {domain: .zhihu.com, expiry: 1744091643, httpOnly: False, name: _zap, path: /, sameSite: Lax, secure: False, value: ac23bfd6-03d3-4ab9-aae5-d5fdbd472290}] [{domain: www.zhihu.com, httpOnly: False, name: osd, path: /, sameSite: Lax, secure: False, value: V1ocBUkf2nzTPx8pNBwqqyhuCWsgK5oRpm1ZTFFNlUGUVyFtdui_krU_Ey0_gBglVylVNsNamm6W9zrlar9JYPk}, {domain: www.zhihu.com, httpOnly: False, name: JOID, path: /, sameSite: Lax, secure: False, value: WlocAEoS2nzWPBIpNBkppihuDGgtK5oUpWBZTFROmEGUUiJgdui6kbg_Eyg8jRglUipYNsNfmWOW9z_mZ79JZfo}, {domain: .zhihu.com, expiry: 1741067645, httpOnly: False, name: Hm_lvt_98beee57fd2ef70ccdd5ca52b9740c49, path: /, sameSite: Lax, secure: False, value: 1709531646}, {domain: .zhihu.com, expiry: 1744091643, httpOnly: False, name: d_c0, path: /, sameSite: Lax, secure: False, value: ANAb2lgVQhiPTrftnfH4Ix-h3eEqjOywHYA|1709531641}, {domain: .zhihu.com, httpOnly: False, name: _xsrf, path: /, sameSite: Lax, secure: False, value: 5fe3527d-f272-4b5a-8b86-18e0418953c6}, {domain: .zhihu.com, httpOnly: False, name: Hm_lpvt_98beee57fd2ef70ccdd5ca52b9740c49, path: /, sameSite: Lax, secure: False, value: 1709531646}, {domain: www.zhihu.com, httpOnly: False, name: SESSIONID, path: /, sameSite: Lax, secure: False, value: 3KbqUAnjUH6Hl9CImOgmWl2acunCWhFuo51qSj8XEUI}, {domain: .www.zhihu.com, httpOnly: False, name: name, path: /, sameSite: Lax, secure: True, value: germey}, {domain: www.zhihu.com, httpOnly: False, name: KLBRSID, path: /, sameSite: Lax, secure: False, value: f48cb29c5180c5b0d91ded2e70103232|1709531643|1709531641}, {domain: .zhihu.com, expiry: 1744091643, httpOnly: False, name: _zap, path: /, sameSite: Lax, secure: False, value: ac23bfd6-03d3-4ab9-aae5-d5fdbd472290}] [] 4. 选项卡管理(了解) 在访问网页的时候会开启一个个选项卡(同一浏览器的窗口)。在 Selenium 中我们也可以对选项卡进行操作。示例如下 import time from selenium import webdriverbrowser webdriver.Chrome() browser.get(https://www.baidu.com) browser.execute_script(window.open()) print(browser.window_handles) browser.switch_to_window(browser.window_handles[1]) # 该方法已弃用了解即可 browser.get(https://www.taobao.com) time.sleep(1) browser.switch_to_window(browser.window_handles[0]) browser.get(https://python.org) 首先访问了百度然后调用了 execute_script() 方法这里传入 window.open() 这个 JavaScript 语句新开启一个选项卡。 接下来我们想切换到该选项卡。这里调用 window_handles 属性获取当前开启的所有选项卡返回的是选项卡的代号列表。要想切换选项卡只需要调用 switch_to_window() 方法即可其中参数是选项卡的代号。这里我们将第二个选项卡代号传入即跳转到第二个选项卡接下来在第二个选项卡下打开一个新页面然后切换回第一个选项卡重新调用 switch_to_window() 方法再执行其他操作即可。 5. 异常处理 使用try except 可以参考官方文档7. WebDriver API — Selenium Python Bindings 2 documentation。 6. 反屏蔽 现在很多网站增加了对 Selenium 的检测被检测到了就直接屏蔽。 在大多数情况下检测的基本原理是检测当前浏览器窗口下的 window.navigator 对象中是否含 webdriver 属性。因为在正常使用浏览器时这个属性应该是 undifined一旦使用了 Selenium它就会给 window.navigator 对象设置 webdriver 属性。很多网站通过 JavaScript 语句判断是否存在 webdriver 属性如果存在直接屏蔽。 例如这个网站Scrape | Movie # 使用以下代码尝试爬取页面内容 from selenium import webdriverbrowser webdriver.Chrome() url https://antispider1.scrape.center/ browser.get(url) print(browser.page_source) 面对此情况我们可以使用 Selenium 中的 CDP (谷歌开发工具协议) 解决利用它可在每个页面刚加载的时候就执行 JavaScript 语句将 webdriver 置空。 ChromeOptions() 是Selenium 中用于配置Chrome浏览器选项的类。通过ChromeOptions() 可以设置一系列浏览器参数和行为。 from selenium import webdriver from selenium.webdriver import ChromeOptionsoptions ChromeOptions() # 下面两行是用来加选项隐藏 WebDriver 提示条和自动化扩展信息 options.add_experimental_option(excludeSwitches, [enable-automation]) options.add_experimental_option(useAutomationExtension, False)browser webdriver.Chrome(optionsoptions) browser.execute_cdp_cmd(Page.addScriptToEvaluateOnNewDocument, {source: Object.defineProperty(navigator, webdriver, { get: () undefined }) }) url https://antispider1.scrape.center/ browser.get(url) print(browser.page_source) # CDP方法 Page.addScriptToEvaluateOnNewDocument # JavaScript 语句将 webdriver 置空 source: Object.defineProperty(navigator, webdriver, { get: () undefined }) 在大多数情况下以上方法可以实现 Selenium 的反屏蔽。因作者目前水平有限对此写的较粗造可直接将其当作模板套着试用就可能解决问题就好。 7. 无头模式 在运行上述代码时会弹出浏览器窗口偶尔会造成麻烦。当采用无头模式就可避免弹出。 from selenium import webdriver from selenium.webdriver import ChromeOptionsoptions ChromeOptions() # 设置 ChromeOptions 对象 options.add_argument(--headless) # 开启无头模式browser webdriver.Chrome(optionsoptions)browser.set_window_size(1300, 700) # 设置窗口大小 browser.get(https://www.baidu.com) browser.get_screenshot_as_file(baidu.png) # 得到窗口截图存下 文章到此结束本人新手若有错误欢迎指正若有疑问欢迎讨论。若文章对你有用点个小赞鼓励一下谢谢大家一起加油吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用电脑做网站服务器网站后台管理系统地址

1 索引类型 返回面试宝典 主键索引(PRIMARY):数据列不允许重复,不允许为NULL,一个表只能有一个主键。 唯一索引(UNIQUE):数据列不允许重复,允许为NULL,一个表允许多个列创建唯一索引…

网站地图xml文件济南房产信息网官网

使用sealed关键字声明一个密封类或者接口 sealed interface Errorsealed class IOError(): Error密封类和接口能够很好的控制继承,在密封类和接口定义的模块和包外无法被继承 在编译期我们就已知了所有的密封类和接口的实现类。在某种意义上,密封类类似…

上街做网站微商代理

正题 题目链接:https://www.51nod.com/Contest/Problem.html#contestProblemId1149 题目大意 nnn个数,求有多少种选择方案使选择的数乘机为kkk。 解题思路 显然kkk的质因数最多只有999个,我们将质因数进行dpdpdp。若选择的数的质因数刚好是kkk的质因数…

网站建设越秀爱旅游网站制作

目录 一、Interconnects 1、Crossbars 二、Debugging 官网教程:gem5: Classic caches 默认缓存是一个带有MSHR(未命中状态保持寄存器)和WB(写缓冲区)的非阻塞缓存,用于读取和写入未命中。缓存还可以启用…

360怎么做网站搜索家庭电脑做网站

数据采集的方法: 1、API API又叫应用程序接口,是网站的管理者为了使用者方便,编写的一种程序接口。该类接口可以屏蔽网站底层复杂算法仅仅通过简单的调用即可实现对数据请求的功能。目前主流的社交媒体,比如微博、贴吧等均可提供…

怎样为网站设计关键词wordpress配置域名

文章目录 get_domain 返回所有输入图像的定义域作为一个区域add_channels 给区域增加灰度值find_shape_model 发现匹配模板find_shape_models 发现最佳模板示例 get_domain 返回所有输入图像的定义域作为一个区域 Halcon 中的区域 get_domain(Image : Domain : : ) Image : …

网站报价明细表wordpress istax

基于matlab的粒子滤波进行锂离子电池的循环寿命预测,输出实验、粒子滤波及自然预测数据结果。程序已调通,可直接运行。 111matlab锂离子电池寿命预测 (xiaohongshu.com)

黔西南北京网站建设建设通网站是筑龙网的吗

前言 现代社会,技术日新月异,要想跟上技术的更新就必须不断学习,而学习技术最有效方式就是阅读优秀的源码,而优秀的源码都不是简单的逻辑堆积,而是有很灵活的设计模式应用其中,如果我们不懂设计模式&#…

做任务赚佣金的网站网站建设及推广销售话术

为了适应各类复习迎考,大家都会利用一些题目来练习。当面对题目与答案分离的现状(两个文档或一个文档的两个部分)时,怎样将题目和答案合二为一,使答案自动填充到题目后的括号中是颇让大家头疼的一件事情。经过实践探索多步骤的组合操作可以实…

有哪些做微信小游戏的网站自适应网站案例

文章目录 1.打开webpack配置文件2.配置webpack 1.打开webpack配置文件 yarn eject or npm run eject 如果报错了记得提前 git commit一下 2.配置webpack 找到 webpack.config.js 文件在 webpack.config.js 文件中找到 alias 配置在alias里添加: path.resolve(src) , 或者 : pa…

磁县网站设计公司新媒体营销论文

上图是DB-Engines数据库流行度最新排行榜,Oracle、MySQL、SQLServer虽几经下滑,然而还是遥遥领先的前三名。后起之秀PostgreSQL和MongoDB持续增长,然而在体量上还相差甚远,可以预见这些年,三大关系型数据库的主流地位是…

做国外房产的网站用word可以做网站吗

1. 说明 接口注册,使用RequestMappingHandlerMapping来实现mybatis中动态执行sql使用github上的SqlMapper工具类实现 2. 核心代码片段 以下代码为spring动态注册接口代码示例 Autowired private RequestMappingHandlerMapping requestMappingHandlerMapping;publ…

番禺哪里有做网站的公司排版设计素材

win7系统是一款被大多数用户们认可的好用系统,在不断的对win7系统的使用中很多用户们都在寻找win7提高电脑运行速度的方法,今天小编就为大家带来了win7系统电脑运行速度的提升方法,让我们一起来看一下吧。 win7系统电脑运行速度的提升方法 …

石家庄电子商务网站建设济南冰河世纪网站建设

435. 无重叠区间 https://programmercarl.com/0435.%E6%97%A0%E9%87%8D%E5%8F%A0%E5%8C%BA%E9%97%B4.html 考点 贪心算法重叠区间 我的思路 先按照区间左坐标进行排序,方便后续处理进行for循环,循环范围是0到倒数第二个元素如果当前区间和下一区间重叠…

小公司做网站赚钱90设计网站怎么样

【普中开发板】基于51单片机音乐盒LCD1602显示( proteus仿真程序设计报告讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:P08 1. 主要功能: 基于51单片机AT89C51/52&#…

wordpress3.6南京做网站优化的企业排名

在 C# 中&#xff0c;Lazy<T> 是一个泛型类&#xff0c;用于延迟初始化对象。它提供了一种方便的方式来推迟对象的创建&#xff0c;直到首次访问该对象时。 Lazy<T> 类有一个重要的特性&#xff0c;即它使用了线程安全的方式进行延迟初始化。这意味着即使在多线程…

大型网站建设企业网站设计制作售价多少钱

文章目录 一、网络层概述1. 网络层的作用2. 网络层与其他层的关系 二、核心协议和技术1. IP协议2. 路由和转发3. 子网划分和超网 三、网络层设备1. 路由器2. 三层交换机 一、网络层概述 1. 网络层的作用 网络层主要负责在不同网络间传输数据包&#xff0c;确保数据能够跨越多…

网站建设语言都有什么软件建设网站是否等于网络营销

正题 题目链接:https://www.ybtoj.com.cn/problem/526 题目大意 一个nmn\times mnm的网格上有字母&#xff0c;你每次可以沿平行坐标轴对折网格&#xff0c;要求对折的对应位置字母相同。 询问有多少个可能对折出来的子矩阵。 1≤nm≤1061\leq n\times m\leq 10^61≤nm≤106…

什么网站最好wordpress 多说评论

今天&#xff0c;为了一些原因&#xff0c;要重启数据库&#xff0c;但因为当时安装的时候&#xff0c;同学随便装了&#xff0c;导致很多文件都找不到&#xff0c;想使用绝对路径重启数据的计划卡死在了路上。以下&#xff0c;我写下我的数据库开启、关闭的方法&#xff0c;方…

网站推广软件免费版大全运城市网站建设

不知道大家在使用 Gin 构建 API 服务时有没有这样的问题:参数绑定的环节可不可以自动处理&#xff1f;错误可不可以直接返回&#xff0c;不想写空 return, 漏写就是 bug本文通过简单地封装&#xff0c;利用 go 的接口特性&#xff0c;提供一个解决上述两个问题的思路一、解决过…