gpt4 book ai didi

javascript - selenium webdriver javascript 查询

转载 作者:行者123 更新时间:2023-12-03 11:58:28 24 4
gpt4 key购买 nike

我最近一直在结合使用 selenium webdriver (nodejs 模块)和 mocha 来编写自动化测试,这些是我遇到的一些问题

滚动

driver.findElement()

返回 false,因为它无法找到该元素,因为该元素在当前窗口中不可见,但位于其下方的某个位置。阅读一些博客,我认为滚动可以解决问题。但是,我在 selenium 中找不到可以帮助我在浏览器中向上、向下、向左、向右滚动的 API。我尝试使用

scrollBy(xDelta,yDelta)

it()子句中的javscript方法,但它也不起作用

读取元素的文本,其中文本从后端动态更新。

该文本不存在于 DOM 元素的文本属性中。我有该元素的 xpath,所以这是我访问该元素的唯一方法。

我有两个要求

A.)我需要读取并获取html页面中某些元素的值并将其存储

B.) 我需要读取该元素并针对某些文本断言它

您能告诉我用于执行相同操作的 webdriver Nodejs API 方法吗?

等待特定文本

我尝试读取的元素文本会随着时间的推移而变化,以响应各种事件。如何使用 selenium webdriver 的 javascript API 以编程方式等待特定文本

我是selenium的新手,虽然我发现了很多关于上述问题的讨论,但它们都是针对selenium的其他平台,例如java等; Nodejs 平台的 selenium API 的文档非常少。所以请帮我做同样的事情

提前非常感谢

最佳答案

您不需要使用 selenium webdriver 滚动到元素。如果你想对页面底部某处的元素执行某些操作,那么selenium将滚动页面并单击元素(或执行其他操作);

Selenium-webdriver 使用 promise (请参阅 this documentation 以获取返回元素/它的属性值的更多信息,因此如果您想获取某些元素/或其属性的值,您下一步需要执行以下操作:

driver.findElement(webdriver.By.css("some selector")).then(function(elem){
//e.g. return text in element
return elem.getText().then(function(text){
expect(text).toBe("your text");
});
})

您不需要在 selenium 中使用任何特定方法来等待文本更改,只需创建循环,该循环将在一段时间内查找元素中的值。

关于javascript - selenium webdriver javascript 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25503035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com