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

中国化工网官网 网站建设爱战网关键词挖掘机

中国化工网官网 网站建设,爱战网关键词挖掘机,微信微博网站建设意见书,餐厅网站模版目录 一、为什么使用selenium 二、selenium语法——元素定位 1.根据 id 找到对象 2.根据标签属性的属性值找到对象 3.根据Xpath语句获取对象 4.根据标签名获取对象 5.使用bs语法获取对象 6.通过链接文本获取对象 三、selenium语法——访问元素信息 1.获取属性的属性值…目录 一、为什么使用selenium 二、selenium语法——元素定位 1.根据 id 找到对象 2.根据标签属性的属性值找到对象 3.根据Xpath语句获取对象 4.根据标签名获取对象 5.使用bs语法获取对象 6.通过链接文本获取对象 三、selenium语法——访问元素信息 1.获取属性的属性值 2.获取标签名 3.获取元素文本 四、selenium 交互 五、无界面操作 参考 1.什么是selenium selenium是一个用于web应用程序测试的工具。selenium测试直接运行在浏览器中就像真正的用户一样。支持通过各种driverFirefoxDriverIternetExplorerDriverOperaDriverChromeDriver驱动真实浏览器完成测试。selenium也是支持无界面浏览器操作的。 2.为什么使用selenium         模拟浏览器功能自动执行网页中的js代码实现动态加载。 3.如何安装selenium         安装selenium及谷歌驱动 4.selenium的使用步骤 导入from selenium import webdriver创建谷歌浏览器操作对象         path 谷歌浏览器驱动文件路径         browser webdriver.Chrome(path) 访问网址         url 要访问的网址         browser.get(url) selenium 的元素定位       元素定位自动化要做的就是模拟鼠标和键盘来操作这些元素如点击、输入等等。操作这些元素前首先要找到它们webdriver提供很多定位元素的方法。        方法          1find_element(By.ID, id 名)                 eg:button browser.find_element(By.ID, ‘su’)          2find_element(By.NAME, name 名)                 eg:name browser.find(By.NAME,‘wd’)          3find_elements(By.XPATH, Xpath语法)                 eg:xpath browser.find_elements(By.XPATH, //input[id-su])          4find_elements(By.TAG_NAME, Tag name )                 eg:names browser.find_elements (By.TAG_NAME, input)          5find_elements(By.CSS_SELECTLOR, bs4语法 )                 eg:my_input browser.find_elements(By.CSS_SELECTLOR, #kw)[0]         6find_elements(By.LINK_TEXT, 链接文本)                 eg:browser.find_elements(By.LINK_TEXT,新闻) 访问元素信息        获取元素属性               .get_attribute(‘class’)        获取元素文本               .text        获取id               .id        获取标签名               .tag_name selenium 交互 1点击click() 2输入send_keys() 3后退操作browser.back() 4前进操作browser.forward() 5模拟js滚动         js ‘document.documentElement.scrollTop100000’         browser.execute_script(js) 执行js 代码 6获取网页代码page_source 7退出browser.quit() 一、为什么使用selenium ​ import urlliburl http://www.jd.comresponse urllib.request.urlopen(url)content response.read().decode() print(content) 我们模拟浏览器获取网页内容然后搜索获取的内容是否有 “J_seckill” 这个元素 ​ 可以看到显示没有该元素。 原因是验证你的浏览器不是真实的浏览器所以没有返回数据。 但是 用selenium就可以解决这个问题。 # 1导入 from selenium import webdriver # from selenium.webdriver.common.by import BY# 2创建浏览器操作对象 browser webdriver.Chrome()# 3访问网站 url https://www.jd.com browser.get(url)# 4获取源码 # page_source获取网页源码 content browser.page_source print(content) ​ 二、selenium语法——元素定位 1.根据 id 找到对象 ​ # 根据 id 找到对象 button browser.find_element(By.ID, su) print(button) 2.根据标签属性的属性值找到对象 ​ # 根据标签属性的属性值找到对象 button browser.find_element(By.NAME,wd) print(button) 3.根据Xpath语句获取对象 ​ # 根据Xpath语句获取对象 # element表示只找一个元素elements表示找到所有元素并返回列表 button browser.find_element(By.XPATH,//input[idsu]) print(button) 4.根据标签名获取对象 # 根据标签名获取对象 button browser.find_elements(By.TAG_NAME,input) print(button) 5.使用bs语法获取对象 # 使用bs语法获取对象 button browser.find_elements(By.CSS_SELECTOR,#su) print(button) 6.通过链接文本获取对象 ​ # 通过链接文本获取对象 button browser.find_elements(By.LINK_TEXT,新闻) print(button) 完整代码  from selenium import webdriver from selenium.webdriver.common.by import By# 创建浏览器对象 browser webdriver.Chrome()# 访问网站 url https://www.baidu.com browser.get(url)# 元素定位 # # 根据 id 找到对象 # button browser.find_element(By.ID, su) # print(button)# # 根据标签属性的属性值找到对象 # button browser.find_element(By.NAME,wd) # print(button)# # 根据Xpath语句获取对象 # button browser.find_element(By.XPATH,//input[idsu]) # print(button)# # 根据标签名获取对象 # button browser.find_elements(By.TAG_NAME,input)# # 使用bs语法获取对象 # button browser.find_elements(By.CSS_SELECTOR,#su)# 通过链接文本获取对象 button browser.find_elements(By.LINK_TEXT,新闻) print(button) 三、selenium语法——访问元素信息 1.获取属性的属性值 # 获取属性值 input browser.find_element(By.ID, su) print(input.get_attribute(class)) 2.获取标签名 print(input.tag_name) 3.获取元素文本 input browser.find_element(By.LINK_TEXT,新闻) print(input.text) 四、selenium 交互 使用selenium完成以下操作 在百度输入框中输入“周杰伦”点击“百度一下”滑到最底部点击“下一页”然后后退一步再前进一步最后关闭浏览器。 from selenium import webdriver from selenium.webdriver.common.by import By import time# 创建浏览器对象 browser webdriver.Chrome()url https://www.baidu.com browser.get(url)time.sleep(2)# 获取文本框的对象 input browser.find_element(By.ID,kw)# 在文本框中输入‘周杰伦’ input.send_keys(周杰伦)time.sleep(2)# 获取百度一下的按钮 button browser.find_element(By.ID,su) # 点击百度一下 button.click()time.sleep(2)# 滑到底部 js_bottom document.documentElement.scrollTop100000 browser.execute_script(js_bottom)time.sleep(2)# 获取下一页的按钮 next browser.find_element(By.XPATH,//a[contains(text(),下一页)])# 点击下一页 next.click()time.sleep(2)# 回到上一页 browser.back()time.sleep(2)# 回到刚才的位置 browser.forward()time.sleep(2)# 退出 browser.quit() 五、无界面操作 直接打开浏览器会使操作效率变慢Chrome headless可以进行无界面操作极大提高的了工作效率。 from selenium import webdriverdef headless_browser():# 创建浏览器对象之前创建options功能对象options webdriver.ChromeOptions()# 添加无界面功能参数options.add_argument(--headless)# 构造浏览器对象打开浏览器browser webdriver.Chrome(optionsoptions)return browserurl https://ww.baidu.com browser headless_browser() browser.get(url)# 屏幕快照 browser.save_screenshot(_082_baidu.png) 参考 尚硅谷Python爬虫教程小白零基础速通含python基础爬虫案例
http://www.hkea.cn/news/14482673/

相关文章:

  • 丰台网站建设公司电话商业设计方案
  • 展示型网站系统wordpress后台无法登陆
  • 中国建设银行网站官网下载安装抚州南城网站建设
  • 做服装广告素材网站合肥企业网站制作
  • 宿州网站建设公司哪家好吉林文明网设计专门页面
  • 网站中弹出广告怎么做的个人网站可以做论坛
  • 大连里程科技做网站angular网站模板下载
  • 工艺品网站怎么做横琴网站建设
  • 网站设计基本步骤wordpress国外插件速度慢
  • 合肥建站网站平台企业网站策划方案网站建设方案
  • 网站建设8万属于资产吗网络营销具有哪些特点
  • 什么网站对护肤品测评做的很好图书馆门户网站建设总结
  • 网站优化的监测评估搭建简单网站
  • 介绍一个电影的网站模板下载泉州软件开发培训机构
  • 做红酒的网站有哪些网页设计制作方法
  • 电子商务网站建设的书网站获取访客qq号码
  • 网站建设推广合同范本为女足世界杯创建一个网站
  • 郑州做网站推广的公司哪家好php 整个网站变量
  • 网站服务器维护 价目表公司网站搭建费用
  • 免费网站后台管理系统模板网上接设计单在哪里接
  • 系统开发生命周期做推广优化的网站有哪些
  • 在网站接入银联怎么做网站开发课程软件
  • 免费制作个人简历的网站黄岛建设局网站
  • 免费注册网站有哪些广告联盟大全
  • 屏山县建设局网站长沙今天最新招聘信息
  • 做苗木免费网站wordpress下一篇
  • 建设部网站官网查询wordpress如何加跳转
  • 河北建设厅身份认证锁登录网站营销网站定制公司
  • 网站排名优化在线培训wordpress短信登陆
  • 广西医院的网站建设奎文营销型网站建设