- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 React.js 网络应用程序中点击一个动态加载的项目。该项目打开一个模式窗口,类名称为 newItemView
。我试过很多东西,但没有什么是可靠的。它会工作几次,但随后给我一个错误。
目标是单击动态项,然后单击模态窗口中的按钮。
尝试 1:
driver.wait(until.elementLocated(By.xpath(PATH_TO_DYNAMIC_ELEMENT)), MAX_WAIT_TIME,
'Could not locate the element within the time specified')
.then(function() {
driver.findElement(By.xpath(PATH_TO_DYNAMIC_ELEMENT)).click();
});
driver.wait(until.elementLocated(By.xpath(PATH_TO_MODAL_BUTTON)), MAX_WAIT_TIME,
'Could not locate the modal element within the time specified')
.then(function() {
driver.findElement(By.xpath(PATH_TO_MODAL_BUTTON)).click();
});
大约 5 次尝试中有一次会抛出 “无法在指定时间内找到模态元素”
,因为模态实际上并未打开。
尝试 2 等待,然后使用 Actions
移动按钮并单击:
driver.wait(until.elementLocated(By.xpath(PATH_TO_DYNAMIC_ELEMENT)), MAX_WAIT_TIME,
'Could not locate the dynamic element within the time specified')
.then(function() {
driver.findElement(By.xpath(PATH_TO_DYNAMIC_ELEMENT))
.then(function(PATH_TO_DYNAMIC_ELEMENT_BUTTON) {
var actions = new webdriver.ActionSequence(driver);
actions.mouseMove(PATH_TO_DYNAMIC_ELEMENT_BUTTON).click().perform();
});
});
然后执行检查以查看模式是否打开
driver.findElement(webdriver.By.className("newItemView"))
.then(function() {
driver.findElement(By.xpath(PATH_TO_MODAL_BUTTON)).click();
}, function (err) {
if (err.name === "NoSuchElementError")
console.log("Element was missing!");
});
这似乎效果更好,但仍然会抛出大约十分之一的错误。在网页上,Actions
似乎有效,因为该项目在 悬停
时显示,但从未被点击。
最佳答案
我想你可以尝试使用 JavaScript 执行器...比如
WebElement YourElement= driver.findElement(By.id("YourElement-ID"));
JavascriptExecutor ExeCutor = (JavascriptExecutor)driver;
ExeCutor.executeScript("arguments[0].click();", YourElement);
关于javascript - 不可靠的点击项 Selenium WebdriverJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35568280/
使用 selenium 和 webdriverJS 我想创建一个测试来检查页面上是否未显示某个元素。为了检查一个或多个元素是否存在,我决定使用 isDisplayed() 函数: driver.fin
我正在使用 webdriverjs 打开一个网站并通过其 id 选择一个元素。代码是, var webdriverjs = require('webdriverjs'), client
Protractor 在底层使用 WebDriverJS。 WebDriverJS 使用“控制流”的概念来确保异步任务以预期的确定顺序执行。 因此以下将按预期工作: myElement.click()
我知道有以下资源: http://docs.seleniumhq.org/docs/03_webdriver.jsp https://code.google.com/p/selenium/wiki/W
检查页面中是否存在元素时出现问题 例子 return driver.wait(function() { driver.findElement(By.css(".clas
我有 Java+WebDriver 背景,并且是 Protractor 、WebdriverJS 和 Jasmine 的新手。在显示的图像中,我试图将鼠标悬停在所有气泡上并获取工具提示值(城市、已售出
我正在尝试弄清楚 WebDriverJs 中的循环如何与 promises 一起工作。 假设您有以下 html: Rock Paper Scissors 我想使用
我正在尝试使用 Selenium、WebDriverJS 和 Jasmine 创建一个测试,以验证无论何时 li元素通过拖放 选择向右移动,不应再显示。这是我的代码片段: it('should mak
这里有人有使用 Selenium 和 webdriverjs 的经验吗?我来自非 Java 背景,总体上具有丰富的 Node.js 和 JavaScript 经验。根据 Selenium 文档,您必须
我正在尝试从 React.js 网络应用程序中点击一个动态加载的项目。该项目打开一个模式窗口,类名称为 newItemView。我试过很多东西,但没有什么是可靠的。它会工作几次,但随后给我一个错误。
我在 Alister Scott's 中找到了博客如何等到元素更改为特定值。但是我无法解决如何创建等待元素等待直到其文本从特定值(在我的例子中是“-”)更改为其他任何东西(在我的例子中它是一个计数器,
好吧,这越来越烦人了。我已经尝试解决这个问题四天了,但我被困住了。我需要单击一个按钮,但该按钮没有 ID 或类属性。我认为唯一的方法是循环遍历所有“Button”对象并找到包含文本“Submit”的对
所以我让驱动程序打开 Chrome 到网页,然后让它单击打开第二个窗口的按钮。 driver.get("https://web.com"); driver.findElement(webdriver.
使用用于 javascript 的 selenium-webdriver 等待页面完全加载的最佳方法是什么?我注意到 this question非常相似,但我需要在 javascript 中实现。 v
我有一个下拉框,我想使用 WebDriverJS 选择一个值。我查看了下面的用户指南,但找不到如何操作 https://code.google.com/p/selenium/wiki/WebDrive
好吧,我想我已经完成了这里的作业...我这辈子都无法得到 official Selenium Webdriver npm module上类;我卡住了。这是我对所有内容的版本... Ubuntu 14.
我正在尝试使用 webdriverjs单击 Flash 动画。 我尝试使用高级用户交互,但我似乎无法点击我想要的地方。甚至当我试图点击一个普通的网络元素时,比如一个按钮。 最理想的情况是,我想执行以下
有人知道如何等待 WebElement 在 WebDriverJS 中可点击吗? ?我已经知道如何等待元素“可见”,但我需要它是“可点击的”。类似于 expectable conditions 的东西
我正在使用 WebDriverJS ,用于 WebDriver 的 JavaScript 绑定(bind),用于做一些简单的前端测试(由 nodejs 驱动)。但是,我在调整窗口大小时遇到了困难,
我已经开始学习 WebDriverJs 来测试使用 Javascript 作为脚本语言的网站,网址为 https://code.google.com/p/selenium/wiki/WebDriver
我是一名优秀的程序员,十分优秀!