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

网站后台如何修改文字在百度上做网站推广效果怎么样

网站后台如何修改文字,在百度上做网站推广效果怎么样,scorilo wordpress,网站建设采购Python 爬虫 - Selenium 框架 安装安装 Selenium安装 WebDriver 操作浏览器打开浏览器普通方式加载配置方式Headless 方式 设置浏览器窗口最大化显示最小化显示自定义大小 前进后退前进后退 元素定位根据 id 定位根据 name 定位根据 class 定位根据标签名定位使用 CSS 定位使用… Python 爬虫 - Selenium 框架 安装安装 Selenium安装 WebDriver 操作浏览器打开浏览器普通方式加载配置方式Headless 方式 设置浏览器窗口最大化显示最小化显示自定义大小 前进后退前进后退 元素定位根据 id 定位根据 name 定位根据 class 定位根据标签名定位使用 CSS 定位使用链接文本定位超链接使用 xpath 定位 等待事件显示等待隐式等待 登录 163 邮箱方式一方式二 Selenium 是一个用于测试 Web 应用程序的框架该框架测试直接在浏览器中运行就像真实用户操作一样。它支持多种平台 Windows、Linux、Mac支持多种语言 Python、Perl、PHP、C# 等支持多种浏览器 Chrome、IE、Firefox、Safari 等。 安装 安装 Selenium pip install selenium安装 WebDriver 主要浏览器 WebDriver 地址如下 Chrome http://chromedriver.storage.googleapis.com/index.htmlFirefox https://github.com/mozilla/geckodriver/releasesIE http://selenium-release.storage.googleapis.com/index.html 本文以Chrome 为例本机为 Windows 系统WebDriver 使用版本 78.0.3904.11Chrome 浏览器版本为 78.0.3880.4 驱动程序下载好后解压将 chromedriver.exe 放到 Python 安装目录下即可。 操作浏览器 打开浏览器 普通方式 以打开去 163 邮箱为例使用 Chrome 浏览器 from selenium import webdriverbrowser webdriver.Chrome() browser.get(https://mail.163.com/)使用Firefox 浏览器 from selenium import webdriverbrowser webdriver.Firefox() browser.get(https://mail.163.com/)使用IE 浏览器 from selenium import webdriverbrowser webdriver.Ie() browser.get(https://mail.163.com/)加载配置方式 以Chrome 为例在 Chrome 浏览器地址栏输入 chrome://version/ 打开如图所示 我们可以看到个人资料路径这一项取到路径C:\Users\Administrator\AppData\Local\Google\Chrome\User Data取到 User Data 使用自己设置的配置取到 Default 使用默认配置。看下示例 from selenium import webdriveroption webdriver.ChromeOptions() # 自己的数据目录需要将复制的路径中的 \ 替换成 / 或进行转义 \\ # option.add_argument(--user-data-dirC:/Users/admin/AppData/Local/Google/Chrome/User Data) option.add_argument(--user-data-dirC:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data) browser webdriver.Chrome(chrome_optionsoption) browser.get(https://mail.163.com/) # 关闭 browser.quit()如果执行时报错没有打开指定页面可先将浏览器关闭再执行。 Headless 方式 前两种方式都是有浏览器界面的方式Headless 模式是 Chrome 浏览器的无界面形态可以在不打开浏览器的前提下使用所有 Chrome 支持的特性运行我们的程序。这种方式更加方便测试 Web 应用、获得网站的截图、做爬虫抓取信息等。看下示例 from selenium import webdriverchrome_options webdriver.ChromeOptions() # 使用 headless 无界面浏览器模式 chrome_options.add_argument(--headless) # 禁用 gpu 加速 chrome_options.add_argument(--disable-gpu)# 启动浏览器获取网页源代码 browser webdriver.Chrome(chrome_optionschrome_options) url https://mail.163.com/ browser.get(url) print(browser text ,browser.page_source) browser.quit()设置浏览器窗口 最大化显示 browser.maximize_window()最小化显示 browser.minimize_window()自定义大小 # 宽 500高 800 browser.set_window_size(500,800)前进后退 前进 browser.forward()后退 browser.back()元素定位 当我们想要操作一个元素时首先需要找到它Selenium 提供了多种元素定位方式我们以 Chrome 浏览器 Headless 方式为例。看下示例 from selenium import webdriverchrome_options webdriver.ChromeOptions() chrome_options.add_argument(--headless) chrome_options.add_argument(--disable-gpu) browser webdriver.Chrome(chrome_optionschrome_options) url https://xxx.xxx.com/ browser.get(url) data browser.page_source假设访问地址 https://xxx.xxx.com/返回 data 为如下内容。 htmlbodyforminput idfid namefid typetext /input idfirstName namefname classfname typetext /input idlastName namefname classfname typetext /a hrefindex.htmlindex/a/form/body html根据 id 定位 browser.find_element_by_id(fid)根据 name 定位 # 返回第一个元素 browser.find_element_by_name(fname) # 返回所有元素 browser.find_elements_by_name(fname)根据 class 定位 # 返回第一个元素 browser.find_element_by_class_name(fname) # 返回所有元素 browser.find_elements_by_class_name(fname)根据标签名定位 # 返回第一个元素 browser.find_element_by_tag_name(input) # 返回所有元素 browser.find_elements_by_tag_name(input)使用 CSS 定位 # 返回第一个元素 browser.find_element_by_css_selector(.fname) # 返回所有元素 browser.find_elements_by_css_selector(.fname)使用链接文本定位超链接 # 返回第一个元素 browser.find_element_by_link_text(index) # 返回所有元素 browser.find_elements_by_link_text(index)# 返回第一个元素 browser.find_element_by_partial_link_text(index) # 返回所有元素 browser.find_elements_by_partial_link_text(index)使用 xpath 定位 # 返回第一个元素 browser.find_elements_by_xpath(//input[idfid]) # 返回所有元素 browser.find_elements_by_xpath(//input[namefname])等待事件 Web应用大多都使用 AJAX 技术进行加载浏览器载入一个页面时页面内的元素可能会在不同的时间载入这会加大定位元素的困难程度因为元素不在 DOM 里会抛出 ElementNotVisibleException 异常使用 Waits我们就可以解决这个问题。 Selenium WebDriver 提供了显式和隐式两种Waits方式显式的 Waits 会让 WebDriver 在更深一步的执行前等待一个确定的条件触发隐式的 Waits 则会让 WebDriver 试图定位元素的时候对 DOM 进行指定次数的轮询。 显示等待 WebDriverWait 配合该类的 until() 和 until_not() 方法就能够根据判断条件而进行灵活地等待了。它主要流程是程序每隔 x 秒检查一下如果条件成立了则执行下一步操作否则继续等待直到超过设置的最长时间然后抛出 TimeoutException 异常。先看一下方法 __init__(driver, timeout, poll_frequencyPOLL_FREQUENCY, ignored_exceptionsNone)driver: 传入 WebDriver 实例timeout: 超时时间单位为秒poll_frequency: 调用 until 或 until_not 中方法的间隔时间默认是 0.5 秒ignored_exceptions: 忽略的异常如果在调用 until 或 until_not 的过程中抛出这个元组中的异常则不中断代码继续等待如果抛出的是这个元组外的异常则中断代码抛出异常。默认只有NoSuchElementException。 until(method, message)method: 在等待期间每隔一段时间init 中的 poll_frequency调用这个方法直到返回值不是 Falsemessage: 如果超时抛出 TimeoutException将 message 传入异常。 until_not(method, message)until 方法是当某条件成立则继续执行until_not 方法与之相反它是当某条件不成立则继续执行参数与 until 方法相同。 以去163 邮箱为例看一下示例 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC browser webdriver.Chrome() browser.get(https://mail.163.com/) try:超时时间为 5 秒data WebDriverWait(browser,5).until(EC.presence_of_element_located((By.ID,lbNormal)))print(data) finally:browser.quit()示例中代码会等待 5 秒如果 5 秒内找到元素则立即返回否则会抛出 TimeoutException 异常WebDriverWait 默认每 0.5 秒调用一下 ExpectedCondition 直到它返回成功为止。 隐式等待 当我们要找一个或者一些不能立即可用的元素的时候隐式 Waits 会告诉 WebDriver 轮询 DOM 指定的次数默认设置是 0 次一旦设定WebDriver 对象实例的整个生命周期的隐式调用也就设定好了。看一下方法 implicitly_wait(time_to_wait)隐式等待是设置了一个最长等待时间 time_to_wait该时间是针对全局设置的如果在规定时间内网页加载完成则执行下一步否则一直等到时间截止然后执行下一步。看到了这里我们会感觉有点像 time.sleep()它们的区别是time.sleep() 必须等待指定时间后才能继续执行 time_to_wait 是在指定的时间范围加载完成即执行time_to_wait 比 time.sleep() 更灵活一些。 看下示例 from selenium import webdriverbrowser webdriver.Chrome() browser.implicitly_wait(5) browser.get(https://mail.163.com/) data browser.find_element_by_id(lbNormal) print(data) browser.quit()登录 163 邮箱 最后我们用Selenium来做个登录 163 邮箱的实战例子。 方式一 我们通过地址 https://email2.163.com/ 登录如图所示 从图中我们发现直接进了 163 邮箱用户名、密码登录页我们直接输入用户名、密码点击登录按钮即可。示例如下 from selenium import webdriverbrowser webdriver.Chrome() browser.implicitly_wait(2) browser.get(https://email2.163.com/) browser.switch_to.frame(browser.find_element_by_xpath(//iframe[starts-with(id,x-URS)])) # 自己的用户名 browser.find_element_by_xpath(//input[nameemail]).send_keys(xxx) # 自己的密码 browser.find_element_by_xpath(//input[namepassword]).send_keys(xxx) browser.find_element_by_xpath(//*[iddologin]).click() print(browser.page_source) # 关闭 browser.quit()方式二 第二种方式我们使用地址 https://mail.163.com/先手动打开看一下 从图中我们会发现登录页面首先展示的是二维码登录方式因此我们需要先点击上图红框圈住的位置切换到用户名、密码的登录方式如图所示 此时我们先输入用户名、密码然后点击登录按钮即可。详细代码见如下 GitHub 仓库。 使用Selenium 登录 163 邮箱示例代码
http://www.dnsts.com.cn/news/41386.html

相关文章:

  • android电影网站开发网页设计宣传推广方案
  • 巩义网站建设方案表网站将要准备建设的内容有哪些
  • 免费h5响应式网站搭建wordpress标签无法显示
  • 做网站是干啥的用vue做网站的实例
  • 美食网站网站建设定位单位网站建设汇报
  • 网站建设费用模板网站群建设需求
  • 中国十大网站域名wordpress 谷歌seo
  • 青羊区定制网站建设报价移动互联网开发软件设计
  • 建设好的网站怎么发布怎么用7牛云做网站
  • 中国智慧城市建设门户网站深圳注册公司注册地址要求
  • 域名备案网站建设方案书wordpress亿级数据
  • 在线做网站黄手机网站前
  • 过时的网站网上平面设计
  • 我有服务器和模板怎么做网站上海外贸市场有哪些
  • 网站ui设计师招聘开发公司土建工程师绩效考核
  • 手机版网站的优势wordpress图片自动打水印
  • 亚马逊官方网站怎么做石家庄学做网站建设培训学校
  • sae 企业网站电子商务网站开发费用入账
  • 注入漏洞网站源码郑州网站建设案例
  • 做设计在哪个网站接单欧洲applestore
  • 付费内容网站网站名称搜索不到
  • wordpress模仿app启动广告屏弹窗百度seo优化策略
  • 安平网站建设培训本地房产交易信息网
  • 查看网站是哪家做的怎么看鞍山网站制作公司
  • 集团企业网站建设方案策划书动态背景设置网站
  • 手机网站的必要性做论坛网站时应该注意什么
  • 网站关键词堆砌网络设计师干什么的
  • 网站建设意义夏津网站开发
  • 做网站的职责域名注册商平台
  • 网站开发 集成包网站域名怎么查