国外LEAD自动化,其实就是把机械操作交给脚本

提到国外LEAD自动化,很多人会觉得这是很高大上的事情。其实自动化并没有想象中那么难,本质只是把一些机械、重复的行为交给脚本来执行而已。现在可用的自动化工具很多,你只要学习一些简单的语法,就能写出自动化脚本,整个过程并不复杂。

今天要推荐的一款自动化工具是Selenium。Selenium 是一个包含一系列工具和库的伞形项目,这些工具和库支持 Web 浏览器的自动化。

为什么国外LEAD适合用 Selenium

国外LEAD的工作大部分都在浏览器里完成,所以自动化工具也跟浏览器有关系。当然还有另一条思路也可以实现:自己开发一个浏览器,完成网页读取、网址载入,解析 HTML、JS 等源文件,然后一个一个地自动注册、自动做任务。相比之下,直接用现成的浏览器自动化工具成本更低。

Selenium 提供了模拟用户与浏览器交互的扩展、一个用于扩展浏览器分配的分发服务器,以及用于实现 W3C WebDriver 规范的组件,这让你可以为所有主要的 Web 浏览器编写可互换的代码。

它是开源免费的,任何人都可以免费使用,也可以参与进来;如果你会写代码,还可以针对性地提交自己的代码。目前它支持的语言包括:

  • Java
  • Python
  • C#
  • JavaScript
  • Ruby
  • Kotlin

基本涵盖了比较主流的开发语言。

安装:Java 项目怎么引入 Selenium

安装也很简单。如果你是 Java 开发,直接使用 Maven 管理依赖来安装 Selenium 库即可,在项目的 pom.xml 中添加 selenium-java 依赖库就行。

这个自动化脚本做 Web 开发的人应该知道,也算比较出名的工具了,它同样支持多种浏览器。

实例:用 Python 解析一个网站

下面我们用 Python 语言来解析一个网站。

>>> from selenium.webdriver import Firefox

>>> from selenium.webdriver.firefox.options import Options

>>> opts = Options()

>>> opts.set_headless()

>>> assert opts.headless # Operating in headless mode

>>> browser = Firefox(options=opts)

>>> browser.get(‘https://duckduckgo.com’)

这样我们就启动了一个 Firefox 浏览器并打开了 duckduckgo.com 网页,并通过 options 实例传递给 Firefox 构造器函数来激活无头模式,页面就加载成功了。

让音乐网站自动播放

>>> opts = Options()

>>> opts.set_headless()

>>> browser = Firefox(options=opts)

>>> browser.get(‘https://bandcamp.com’)

>>> browser.find_element_by_class_name(‘playbutton’).click()

上面打开了音乐网站,然后开始播放音乐。

>>> tracks = browser.find_elements_by_class_name(‘discover-item’)

>>> len(tracks) # 8

>>> tracks[3].click()

应该就能播放新曲目了,这是使用 Python 探索 bandcamp 的第一步。

探索目录:读取歌单并翻页

下面开始打开音乐的歌曲目录。你会发现每个翻页按钮都带有 class 值 item-page,这就是下一步按钮,也就是这个歌单的分页入口,借助它可以读出所有歌曲。

>>> next_button = [e for e in browser.find_elements_by_class_name(‘item-page’)

… if e.text.lower().find(‘next’) > -1]

>>> next_button.click()

小结

通过上面简单的例子可以看出,Python 加 Selenium 的能力还是很强大的。只要你想实现的功能,基本都可以通过它自动化来完成,从而创建比较真实的用户交互,达到自动填写表单等目的。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。