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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。