- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从我的页面上的 Google Analytics 获取 gtm dataLayer 事件,并在登录/注销后检查其内容。我在测试中使用 Selenide + java页面上没有操作的代码示例
open("url");
List<Map<String, String>> result = new ArrayList<>();
List<Map<String, String>> dataLayerEventsList = Selenide.executeJavaScript("return window.dataLayer");
for (Map<String, String> map:dataLayerEventsList) {
if (map.containsKey("firstKey") && map.containsKey("secondKey"))
result.add(map);
}
return result;
当我不在页面上执行某些操作时,我会收到事件(只需打开页面并返回 window.dataLayer),但是当我执行某些操作时,F.E. 单击元素,然后当我想要获取 GA 事件时同样的,我在方法 Selenide.executeJavaScript("return window.dataLayer") 中遇到错误
org.openqa.selenium.StaleElementReferenceException: stale element reference: stale element not found
页面上包含操作的代码示例
open("url");
$(By.className("login-form__select")).click();
SelenideElement login = $x("//div/../input").setValue("5645645");
SelenideElement password = $x("//div/../input").setValue("6666");
$x("//button[contains(@class,'login-form_999')]").click();
List<Map<String, String>> result = new ArrayList<>();
List<Map<String, String>> dataLayerEventsList = Selenide.executeJavaScript("return window.dataLayer");
for (Map<String, String> map:dataLayerEventsList) {
if (map.containsKey("firstKey") && map.containsKey("secondKey"))
result.add(map);
}
return result;
如何解决这个问题?请帮忙
最佳答案
在找到您要单击的元素之前,请先重新查找该元素。
Stale Exception 基本上意味着你的元素无法被定位,因为它不在 DOM 中,其背后的原因是 For Ex。您找到了一个元素,假设您刷新了页面或导航到其他页面,之后您尝试使用在执行操作之前找到的该元素,那么将抛出 Stale Element 异常。
希望这有帮助。
关于java - 当我尝试使用 Selenide 获取 window.dataLayer 时,出现 StaleElementReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61289299/
我正在 try catch NoSuchElementException。这是我的代码: public void checkActiveApps() { try { $(BUT
是否可以对 Selenide 中的某个偏移位置执行拖放操作?我想将元素拖动到页面的某个部分。不幸的是,我在其他页面上找不到答案,文档也缺少它。我想避免使用像“Action”类这样的 Selenium
我用selenide 5.0.1创建了maven项目当我看到代码示例时,我看到这样的代码: open(""); $(css); $(xpath); 等等 但我无法导入 Selenide 方法我必须以这
本文整理了Java中com.codeborne.selenide.WebDriverRunner类的一些代码示例,展示了WebDriverRunner类的具体用法。这些代码示例主要来源于Github/
我正在将Selenide与Junit 5一起使用 Selenide 5.1.0 Junit 5.3.2 当我使用junit运行测试时,所有测试都使用相同的驱动程序/浏览器。我想为每个测试创建新的Web
如何使用 shouldHave 断言检查 Selenide 中的页面标题? 在“Selenium”中,它将是下一个代码: Assert.assertEquals(title(), "Your page
我在使用 selenide (java) 从下拉列表中选择选项时遇到了一些问题。 这是 HTML 代码的一小段,我尝试按值选择选项: HTML snippet [Java代码] String
我在 Firefox 版本 46 中运行 Selenide 测试时遇到问题。当测试单独运行时,一切正常。但是当我在类里面运行所有测试方法时,它会卡在以下步骤上: addons.productaddon
我正在使用 Kotlin+Selenide+Appium 编写 Android Web 自动化测试。在 Kotlin+Selenide 上已经有这些测试的桌面 Web 版本。 Koltin 1.2.3
有人可以帮助理解通过 Selenide 进行元素搜索有什么问题吗? 我有这样的 HTML 代码: Current method: SMS Selenium 找到元素抛出此
我从 Selenide 开始,想知道是否可以滚动到该元素。在 Seleniu 中,代码如下所示: Actions actions = new Actions(getWebDriver());
有人可以帮我吗?我正在使用 Java 使用 Selenide 框架。 Selenide 有打开浏览器的方法。看起来像:Selenide.open("http://www.google.com"); 默
我最近开始使用 Selenide,我喜欢它所允许的流畅代码。然而,我对 ElementsCollection 确实有一个奇怪的问题。 $$("some ref").filterBy(not(attri
我正在尝试在 UI 测试中使用页面对象模式。许多示例都假设将 By (Locator) 保存在类字段中。其他建议保存 WebElement(或 SelenideElement,如果您使用的是 Sele
我遇到了无法使用任何扩展程序打开 Chrome 的问题。我已经添加了一个扩展,但不知道如何使用 Selenide 框架正确运行它。你能帮帮我吗 @BeforeClass public static v
我正在尝试使用 java selenide 自动化测试上传文件。 我写测试的地方使用了上传框,附近没有任何输入值。 上传框是id='file' 我尝试使用: $(By.cssSelector("[id
本文整理了Java中com.codeborne.selenide.WebDriverRunner.getWebDriver()方法的一些代码示例,展示了WebDriverRunner.getWebDr
本文整理了Java中com.codeborne.selenide.WebDriverRunner.setWebDriver()方法的一些代码示例,展示了WebDriverRunner.setWebDr
本文整理了Java中com.codeborne.selenide.WebDriverRunner.url()方法的一些代码示例,展示了WebDriverRunner.url()的具体用法。这些代码示例
本文整理了Java中com.codeborne.selenide.WebDriverRunner.closeWebDriver()方法的一些代码示例,展示了WebDriverRunner.closeW
我是一名优秀的程序员,十分优秀!