【发布时间】:2020-01-24 08:14:12
【问题描述】:
所以我遇到了一个问题,我试图在输入字段中输入文本,但我意识到有两个相同的 id 名称相同,我在这里寻求有关如何指定哪个 div 的帮助 ->我想使用的输入。
到目前为止我所做的是:
it('Entering First Name', function (done) {
browser.driver
.then(() => browser.wait(EC.visibilityOf(element(by.xpath('//input[@id="pp-cc-first-name-field"]'))), 50000, "Timed out finding 'First Name' element"))
.then(() => element(by.xpath('//input[@id="pp-cc-first-name-field"]')).sendKeys("hello world")
.then(() => done());
});
使用这个 HTML
所以我不确定在这种情况下我实际上做错了什么,因为现在它没有输入任何内容并且由于超时而失败。我想向这个特定元素输入任何文本。
编辑!
看起来我不得不切换到 iframe,因为背景上加载了 iframe,这就是我无法在现场实际书写的原因。我不得不使用
browser.switchTo().frame(element(by.xpath("//iframe[@id='cc-integrated-payment-page-frame']")).getWebElement()))
能够在字段内写入。
【问题讨论】:
-
您能将代码复制到工作示例中吗?图片作为代码示例并不是很有用。它可能是代码的一部分,这并不重要。只需将有问题的元素复制到 js sn-p 或代码示例中即可。
-
@SkorpEN 你是什么意思?我确实有一个 sn-p 代码还是你的意思是别的?
-
U 张贴 html 为 png。有带有代码 sn-p 的图标 []。在那里你可以粘贴 html 和你的 js 代码。您不必提供整个页面,您可以将其缩短为有问题的部分。当我们得到对您有问题的部分代码时,检查仍然会更快。
-
我不确定我是否正确@SkorpEN,但我确实在图像上方放置了一个代码 sn-p。就在它上面?
-
@SkorpEN 我想我找到了问题所在。这是由于 iFrame。显然我需要切换到 iframe 才能使用
browser.switchTo().frame(element(by.xpath("//iframe[@id='wirecard-integrated-payment-page-frame']")).getWebElement()))在其中写入
标签: javascript selenium protractor mocha.js chai