javascript - Selenium Webdriver 的替代品

标签 javascript selenium webdriver

<分区>

我使用用于 C# 和 Python 的 Selenium Webdriver 从网站获取数据元素,但是网络抓取的速度非常慢。抓取 35000 个数据表花了我大约 1.5 天的时间。使用 Selenium Webdriver,我可以执行 Javascript 来获取 Java 元素。是否有一些可用的库不需要像 Webdriver 这样的东西来在网页上执行 Javascript 来检索元素并且也能够点击元素?还是有比 Selenium 更快的替代品?

最佳答案

我建议你使用TestCafe .

enter image description here

TestCafe 是用于网络功能测试(端到端测试)的免费开源框架。 TestCafe 基于 Node.js,根本不使用 WebDriver。

TestCafe 支持的测试在服务器端执行。为了获取 DOM 元素,TestCafe 提供了强大而灵活的选择器系统。 TestCafe 可以使用 ClientFunction 功能在测试网页上执行 JavaScript(请参阅我们的文档)。

TestCafe 测试真的非常快,see for yourself .但由于内置智能等待系统,高速测试运行不会影响稳定性。

TestCafe 的安装非常简单:

1) 检查您的 PC 上是否安装了 Node.js(或安装它)。

2) 要安装 TestCafe 打开 cmd 并输入:

npm install -g testcafe

写作测试不是火箭科学。这是一个快速开始: 1) 将以下代码复制粘贴到您的文本编辑器中并将其另存为“test.js”

import { Selector } from 'testcafe';

fixture `Getting Started`
    .page `http://devexpress.github.io/testcafe/example`;

test('My first test', async t => {
    await t
        .typeText('#developer-name', 'John Smith')
        .click('#submit-button')
        .expect(Selector('#article-header').innerText).eql('Thank you, John Smith!');
});

2) 通过在 cmd 中键入以下命令在浏览器(例如 chrome)中运行测试:

testcafe chrome test.js

3) 在控制台输出中获取描述性结果。

TestCafe 允许您针对各种浏览器进行测试:本地、远程(在设备上,无论是用于 Raspberry Pi 的浏览器还是用于 iOS 的 Safari)、云(例如 Sauce Labs)或 headless (例如 Nightmare)。这意味着您可以轻松地将 TestCafe 与您的持续集成基础架构一起使用。

关于javascript - Selenium Webdriver 的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29671060/

相关文章:

java - 错误 : More than one file was found with OS independent path 'META-INF/DEPENDENCIES'

java - @FindBy 注解定义的 Webelement 返回空指针

java - 如何使用 Selenium WebDriver 获取 CSS 选择器?

Python Selenium - 尝试单击链接时出现 'ElementNotVisibleException' 错误

javascript - 使用 Jquery 为 ID、href 和 aria-controls 添加动态值

javascript - 我的 PhoneGap 应用程序无法访问我的 Web 服务

javascript - 如何将从后端渲染的参数传递给 angular2 bootstrap 方法

javascript - TalkBack 屏幕阅读问题

java - 使用 Selenium WebDriver 和 Java 切换选项卡

Python- Selenium : Chrome headless setting does not work with "WebDriverWait"