selenium抓取动态网页,selenium动态加载

  selenium抓取动态网页,selenium动态加载

  本文主要介绍了selenium动态数据采集方法的实现,并通过实例代码进行了详细介绍。对大家的学习或工作都有一定的参考价值。有需要的朋友下面和边肖一起学习。

  00-1010安装WebDriver selenium安装驱动安装基本上使用搜索节点进行JavaScript切换框架前进后退标签管理配置操作绕过检测selenium是一个自动化测试工具,可以驱动浏览器执行特定的动作,比如点击、下拉等。同时还可以获取浏览器当前呈现的页面的源代码,以便在可见的时候获取。对于一些JavaScript动态渲染的页面,这种抓取方式非常有效。接下来,让我们感受一下它的力量。

  

目录

  

webdriver的安装

  首先,我们使用selenium进行测试,所以我们必须安装selenium库。

  pip安装硒

  

selenium安装

  Webdriver是浏览器对应的驱动程序。我们使用的浏览器有三种:谷歌Chrome、微软Microsoft Edge、火狐,但我们经常使用谷歌Chrome进行测试。现在我们以Chrome浏览器为例下载其对应的chromedriver。

  官网:http://chromedriver.storage.googleapis.com/index.html

  注意:

  我们在下载chromedriver驱动时,需要找出浏览器的版本,按照对应的版本号下载,否则会报错。禁止谷歌浏览器更新服务。你可以在网上查教程。

  

驱动安装

  

基本使用

  Selenium可以驱动浏览器完成各种操作,比如填表、模拟点击等。例如,如果我们要完成在一个输入框中输入文本的操作,我们总是需要知道输入框在哪里。Selenium提供了一系列查找节点的方法。我们可以使用这些方法来获取所需的节点,以便在下一步中执行一些操作或提取信息。

  获取节点的方法:

  按标识查找元素

  按名称查找元素

  通过xpath查找元素

  find_element_by_link_text专门用于定位要精确匹配的超链接文本(标签)。

  find _ element _ by _ partial _ link _ text的模糊匹配

  按标签名查找元素

  按类名查找元素

  通过css选择器查找元素

  举个例子。

  从selenium导入web驱动程序

  浏览器=webdriver。铬合金()

  browser . get( https://www . Baidu.com )

  input=browser . find _ element _ by _ id( kw )

  input.send_keys(Python )

  browser.find_element_by_id(su )。单击()

  #摘录页面

  print(browser . page _ source . encode( utf-8 ))

  #提取cookie

  print(browser . get _ cookie())

  #提取当前请求地址

  打印(browser.current_url)

  browser.close()

  运行代码后,发现会自动弹出一个Chrome浏览器。首先浏览器会跳转到百度,然后在搜索框输入Python,再跳转到搜索结果页面。

  注:当我们的c

  hromedriver驱动没有放置到Chrome浏览器路径时,我们可以使用以下来申明浏览器对象。

  

browser = webdriver.Chrome(executable_path="chromedriver安装路径")

  方法总结:

  

  • brower.get(url):跳转当前url链接。
  • browser.find_element_by_id('id属性值'):定位到id属性值。
  • send_keys('输入关键字'):定位到输入框后输入。
  • find_element_by_id('id属性值').click():定位到id属性值后点击。
  • browser.page_source.encode('utf-8'):获取当前页面的源码。
  • browser.get_cookies():提取cookies。
  • browser.current_url:获取当前页面的url。
  • brower.close():关闭浏览器。

  

  

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: