当前位置: 首页 > news >正文

wordpress管理员与编辑可见海口seo外包

wordpress管理员与编辑可见,海口seo外包,官网推广运营的步骤有哪些,找一些好的网站建设案例在使用selenium进行web自动化或爬虫的时候,经常会面临登录的情况,对于这种情况,我们可以利用Selenium控制已经打开的浏览器#xff0c;从而避免每次都需要重新打开浏览器并进行登录的繁琐步骤。 目录 说明 启动浏览器 注意 --user-data-dir说明 代码设定 代码 改进代…        在使用selenium进行web自动化或爬虫的时候,经常会面临登录的情况,对于这种情况,我们可以利用Selenium控制已经打开的浏览器从而避免每次都需要重新打开浏览器并进行登录的繁琐步骤。     目录 说明 启动浏览器 注意 --user-data-dir说明 代码设定 代码 改进代码 效果 直接使用webdriver 使用指定端口打开的浏览器 说明 说明 这里已打开的浏览器不是指我们在桌面双击打开的浏览器,而是指我们在命令行中指定端口号启动的浏览器,直接控制我们先前桌面双击打开的浏览器内的网页不可行(已验证)。 启动浏览器 启动浏览器时我们需要使用CMD命令行来使浏览器在指定端口启动 start chrome --remote-debugging-port9222 #或者 start chrome --remote-debugging-port9222 --user-data-dir一个空文件夹的路径#说明 #其余端口也可以只要没被占用过就行 #--user-data-dir非必须 在9222端口启动chrome浏览器  start msedge --remote-debugging-port9222 #或者 start msedge --remote-debugging-port9222 --user-data-dir一个空文件夹的路径#说明 #其余端口也可以只要没被占用过就行 #--user-data-dir非必须 在9222端口启动Edge浏览器 注意 1.上述命令行启动的浏览器和我们直接在桌面上双击浏览器图标启动的浏览器没有任何差别,只是在我们设定的端口号运行而已。 通过CMD命令(不加--user-data-dir)启动的chrome浏览器 --user-data-dir说明 --user-data-dir用来指定从命令行启动的浏览器的用户数据路径,以chrome浏览器为例 不加--user-data-dir的话,我们每一次从该端口启动的chrome浏览器的用户数据将直接来源于本机上的原本的chrome浏览器内的用户数据 start chrome --remote-debugging-port9222 加上--user-data-dir的话,我们第一次运行下方的CMD命令将会发现 start chrome --remote-debugging-port9222 --user-data-dir一个文件夹的路径 从该端口启动的chrome浏览器将和初始化的chrome浏览器一样,没有任何用户数据,也将没有收藏书签页。 这是因为指定的路径下userdata数据为空,不过在这一次设定好之后,我们再使用上方的CMD命令每次打开的chrome浏览器又会和第一次设定的一致,因为我们每次启动的chrome浏览器的用户数据都不再为空。 通过CMD命令(加--user-data-dir)启动的chrome浏览器 代码设定 我们使用CMD命令启动了指定端口的浏览器后,接下来要做的就是在代码中设定并与其连接, 连接之后,其余操作与我们正常使用webdriver一致。 代码 from selenium import webdriver from selenium.webdriver.chrome.options import Options port9222 chrome_optionsOptions() chrome_options.add_experimental_option(debuggerAddress,f127.0.0.1:{port}) browserwebdriver.Chrome(optionschrome_options) browser.get(url) # # #其余操作逻辑 Chrome浏览器连接已在9222端口打开的浏览器 from selenium import webdriver from selenium.webdriver.edge.options import Options port9222 chrome_optionsOptions() chrome_options.add_experimental_option(debuggerAddress,f127.0.0.1:{port}) browserwebdriver.Edge(optionschrome_options) browser.get(url) # # #其余操作逻辑 Edge浏览器连接已在9222端口打开的浏览器 上述代码运行后便会连接到指定端口打开过的对应的浏览器,但是考虑到需要手动打开CMD输入命令比较麻烦,我们可以使用OS库在代码中直接执行前边提到的CMD命令。 于是便有了下边的改进后的代码。 改进代码 #打开已经打开过的谷歌浏览器 from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium import webdriver from selenium.webdriver.chrome.options import Optionsimport os def open_chrome(port:int9222,user_data_dir:strNone):cmd_linefstart chrome --remote-debugging-port{port}if user_data_dir:cmd_linef --user-data-dir{user_data_dir}os.popen(cmd_line)port9222 user_data_dirNone open_chrome(portport,user_data_diruser_data_dir) chrome_optionsOptions() chrome_options.add_experimental_option(debuggerAddress,f127.0.0.1:{port}) browserwebdriver.Chrome(optionschrome_options) browser.get(url) # # # 打开指定端口打开过的Chrome浏览器 #打开指定端口打开过的Edge浏览器 from selenium import webdriver from selenium.webdriver.edge.options import Optionsimport os def open_edge(port:int9222,user_data_dir:strNone):cmd_linefstart msedge --remote-debugging-port{port}if user_data_dir:cmd_linef --user-data-dir{user_data_dir}os.popen(cmd_line)port9222 user_data_dirrE:\OneDrive\Desktop\Edgedata open_edge(portport,user_data_diruser_data_dir) edge_optionsOptions() edge_options.add_experimental_option(debuggerAddress,f127.0.0.1:{port}) browserwebdriver.Edge(optionsedge_options) browser.get(url) # # #打开指定端口打开过的Edge浏览器 效果 这里我们以打开小红书并在搜索框内搜索指定内容为例。 直接使用webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium .webdriver.chrome.options import Options from selenium import webdriver chrome_optionsOptions() chrome_options.add_experimental_option(detach,True)#确保webdriver不会任务完成关闭 browserwebdriver.Chrome(optionschrome_options) browser.get(https://www.xiaohongshu.com/explore) browser.maximize_window() browser.implicitly_wait(10) search_barbrowser.find_element(By.XPATH,//*[idsearch-input]) browser.execute_script(arguments[0].click(),search_bar) search_bar.send_keys(哪吒2之魔童闹海) search_bar.send_keys(Keys.ENTER)结果 直接使用webdriver打开有弹窗,且还需要传入很多options参数来免除自动化痕迹,面对这种情况我们通常是在代码内加一个手动扫码登录的机制,但是这样比较麻烦,尤其是代码需要反复调试时,每次运行代码都需要手动扫码进行登录,次数太多还有可能被封IP。  使用指定端口打开的浏览器 为了更方便我们在CMD命令中不使用--user-data-dir参数,这样打开的浏览器的userdata包括各个网站的cookie数据都与先前的浏览器一致,唯一区别就是端口号不一致。 首先,双击打开桌面的Chrome浏览器,并扫码登录小红书。 已经登录了的小红书  接着,关掉打开的Chrome浏览器,直接运行下方代码  #打开指定端口打开过的Chrome浏览器 from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium import webdriverimport os def open_chrome(port:int9222,user_data_dir:strNone):cmd_linefstart chrome --remote-debugging-port{port}if user_data_dir:cmd_linef --user-data-dir{user_data_dir}os.popen(cmd_line)port9222 user_data_dirNone open_chrome(portport,user_data_diruser_data_dir) chrome_optionsOptions() chrome_options.add_experimental_option(debuggerAddress,f127.0.0.1:{port}) browserwebdriver.Chrome(optionschrome_options) browser.get(https://www.xiaohongshu.com/explore) browser.maximize_window() browser.implicitly_wait(10) search_barbrowser.find_element(By.XPATH,//*[idsearch-input]) browser.execute_script(arguments[0].click(),search_bar) search_bar.send_keys(哪吒2之魔童闹海) search_bar.send_keys(Keys.ENTER)运行结果 可以看到我们在options选项中并没有指定任何消除自动化控制痕迹的argument然而左上角却没有受到自动测试软件控制字样的infobar并且一打开网页便是登录状态,这说明我们启动的不是webdriver而是已经连接到的Chrome浏览器。 说明 1. Edge浏览器的连接方法与上文案例中所示的Chrome浏览器连接方法一致,只不过,作者本人电脑上在测试时总是需要在CMD命令中指定--user-data-dir参数才可以正常运行,即使这样也没关系,你可以先运行open_edge()函数,然后打开新的edge后点击一键导入数据然后之后正常使用即可。 import os def open_edge(port:int9222,user_data_dir:strNone):cmd_linefstart msedge --remote-debugging-port{port}if user_data_dir:cmd_linef --user-data-dir{user_data_dir}os.popen(cmd_line)port9222 user_data_dirrE:\OneDrive\Desktop\Edgedata open_edge(portport,user_data_diruser_data_dir) 打开指定端口的edge浏览器  点击是,继续后就会将原来edge的userdata全部导入的你传入的文件夹内,之后你每次带着--user-data-dir‘文件夹路径’ 这一参数运行即可。  2.连接到已经打开过的浏览器进行自动化的话,除了用来设置连接端口的options其余options都将失效,即使传入也不会有任何变化,因为那些options都是给webdriver设置的,我们现在正在操控的是浏览器实例!
http://www.w-s-a.com/news/151511/

相关文章:

  • 询广西南宁网站运营礼品定制
  • 建筑公司网站作用免费查看招标信息的网站
  • 建筑设计公司名字起名大全html网站 怎么做seo
  • 网站群建设模板迁移原站迁移pc巩义网站建设案例课堂
  • 烟台高端网站开发wordpress 设置权限
  • 中小企业网站制作流程网站开发和设计人员的岗位要求
  • 公司网站建设多少费用河北城乡建设官网站
  • 国科联创网站建设广告传媒公司招聘信息
  • 网站后台文章删了 怎么前台还有一级做爰片软件网站
  • 辽宁省建设注册中心网站wordpress 博客插件
  • 做电商看的网站有哪些网站建设需求策划书
  • 关于网站建设交易流程的描述一句话哪些网站用户体验好
  • 男女做暖暖的网站大全深圳平台网站建设外包
  • 凯里展示型网站设计抖音代运营收费详细价格
  • 外包网站会自己做原型吗网站制作怎样盈利
  • 为什么在百度搜不到我的网站电商网站开发过程
  • 什么是网站反链网页设计页面链接
  • 佛山企业网站制作韩国seocaso
  • 微信公司网站vue做社区网站
  • 蒙阴网站优化五核网站建设
  • 企业微商城网站建设wordpress新闻是哪个表
  • 重庆网站开发培训机构电商网站创办过程
  • 企业建网站得多少钱长沙财优化公司
  • 网站开发api平台扒完网站代码之后怎么做模板
  • PHP网站建设选择哪家好动画设计师月薪多少
  • 网站如何做市场推广网站开发主要步骤
  • 浏览器正能量网站网页文章导入wordpress
  • 江西中国建设银行网站首页永久免费自助建网站
  • 创建自己网站的步骤吸引人的微信软文
  • 网站建设与网页设计论述题软件开发公司在哪里