javascript - driver.manage(...).window(...).getSize 不是 selenium 中的函数
问题描述
我正在为网页编写硒测试。我只想获取网页的高度。
看看下面的代码。它使用 geckodriver,它是一个 firefox webdriver。
const { Builder, By } = require("selenium-webdriver");
const { writeFile } = require("fs");
async function pageLoad() {
let driver = await new Builder().forBrowser("firefox").build();
try {
await driver.get("http://example.com/");
const size = await driver.manage().window().getSize();
console.log(size);
} catch (err) {
console.log(err.message);
} finally {
await driver.quit();
}
}
此代码在下面生成错误 driver.manage(...).window(...).getSize is not a function
但是,我在其他代码中看到人们使用 getSize 没有任何问题。我到处搜索,这是我在 stackoverflow 上发布的最后一个选项。
我正在使用 MacOS Catalina 和 Visual Studio Code。我是一个非常优秀的 web 开发人员,对 javascript 有很强的掌握。但是,我是硒的新手。
解决方案
我能够继续getRect
而不是getSize
.
const size = await driver.manage().window().getRect();
但是,仍然困扰我的一件事是为什么下面两行的输出不同?
await driver.executeScript("return window.screen.height");
await window.getRect().height;
推荐阅读
- prebid.js - 我无法下载 prebid.js 的早期版本
- javascript - 如何从命令行向正在运行的 NodeJS 项目发送命令?
- python - 有没有一种方法可以使用 Python 直观地显示我点击的位置。类似于在 Windows 上按 CTRL 并看到圆圈
- reactjs - Firebase 存储:调用随机文件夹?
- assembly - 在 MIPS 中制作按位选择框
- python-3.x - 拆分存储在字典中的数据以进行训练、验证和测试
- amazon-web-services - AWS lambda 如何存储检查点发电机数据库流的状态
- regex - 如何在 Terraform 中仅打印匹配模式字
- file - 在 Dart Flutter 中将文件转换为 Blob
- azure - 无法在 Azure Devops 中创建继承的进程