"WebDriver-Chrome" (外部计算系统)

该函数已被 WebExecute 替代.
  • WebDriver 是编程性控制网页浏览器的标准.
    WebDriver 是 W3C 标准的一个提议:https://www.w3.org/TR/webdriver.
    支持 Chrome 和 Firefox 网页浏览器.
  • 更多信息

    • 当浏览器窗口没有显示,但仍然呈现在你的计算机系统时,支持 Chrome 和 Firefox 的 "headless" 模式.

    ExternalEvaluate 用法

    • ExternalEvaluate["WebDriver-browser",commandargs]browser 中执行带有 argscommand,如果适用的话则返回一个 Wolfram 语言表达式.
    • 在网页会话中支持执行以下指令:
    • "OpenWebPage"去一个网页
      "CaptureWebPage"捕获当前网页的图像
      "RefreshWebPage"刷新当前网页
      "PageBack"回到之前的网页
      "PageForward"进入下一网页
      "WebPageTitle"网页的标题
      "JavascriptExecute"在网页上执行一点 JavaScript 代码
      "WindowSize"当前的窗口大小
      "SetWindowSize"设置窗口大小
      "LocateElements"给定位符元素定位页面上的元素
      "ClickElement"点击元素
      "HoverElement"将鼠标悬停在元素上方
      "HideElement"设置元素的可见属性为 "hidden"
      "ShowElement"设置元素的可见属性为 "visible"
      "ElementText"元素文本,如果有的话
      "ElementName"元素的名称
      "ElementSelected"元素是否被选中
      "ElementEnabled"元素是否被启用
      "SubmitElement"提交一个表单元素
      "FocusFrame"聚焦元素上的网页
      "TypeElement"把文本敲入进元素

    数据类型

    • WebDriver 有多种方式支持网页上指定的元素,称为定位符元素.
    • 使用 "LocateElements" 指令可能返回元素.
    • 支持以下定位符元素规范:
    • <|"ID"id|>HTML 中元素 ID 的名称
      <|"XPath"xpath|>XPath 选择器
      <|"ElementClassName"name|>HTML 中的元素类名称
      <|"CSSSelector"name|>CSS 选择器
      <|"Name"name|>元素名称
      <|"LinkText"name|>包含链接文本的元素
      <|"PartialLinkText"name|>匹配链接文本的元素
      <|"TagName"name|>标签名称
    • 只有 "WebDriver-Chrome""WebDriver-Chrome-Headless" 支持 "ID""TagName" 搜索方法.

    范例

    打开所有单元关闭所有单元

    基本范例  (2)

    打开网页并捕获其图像:

    定位页面上的元素并点击之:

    打开网页并用 ID 定位 "nav-search" 的元素:

    点击元素:

    捕获网页的图像:

    删除会话:

    范围  (5)

    开始一个新的浏览器会话:

    打开网页:

    获取网页标题:

    删除会话:

    开始一个新的浏览器会话:

    打开网页:

    刷新页面:

    删除会话:

    开始一个新的浏览器会话:

    打开一个网页:

    获取所有 <p> 元素:

    获取每个元素的文本:

    删除会话:

    开始一个新的浏览器会话:

    打开一个网页:

    在浏览器会话中执行一条 JavaScript 指令:

    删除会话:

    创建一个表单:

    把表单部署至云端:

    获取云对象的 URL:

    开始一个新的浏览器会话:

    打开浏览器中的表单:

    在输入字段输入数字:

    点击提交按钮:

    删除会话: