driver.wait(until.elementIsPresent(By.css(".popup-backdrop fade")), 15000);
どうすればよいのですか?私は要素をクリックする前に ".popup-backdrop fade"オーバーレイが消えるまで待つことを望みます。私は要素が消えるのを待つSelenium-webdriver(Java Script)
driver.wait(until.elementIsPresent(By.css(".popup-backdrop fade")), 15000);
どうすればよいのですか?私は要素をクリックする前に ".popup-backdrop fade"オーバーレイが消えるまで待つことを望みます。私は要素が消えるのを待つSelenium-webdriver(Java Script)
は、コードソースの負のウェイトを見つけることができます(JavaやPythonやC#を使用してJavascriptを使用していない)セレンwebdriverをを使用しています
。ソリューションは、独自の条件を実装するために、次のようになります。
var webdriver = require('selenium-webdriver');
var until = webdriver.until;
var By = webdriver.By;
until.elementIsNotPresent = function elementIsNotPresent(locator) {
return new until.Condition('for no element to be located ' + locator, function(driver) {
return driver.findElements(locator).then(function(elements) {
return elements.length == 0;
});
});
};
driver.wait(until.elementIsNotPresent(By.css(".popup-backdrop fade")), 15000);
あなたはまた、のような何かを試みることができる:セレン4のとおり
let faderElement = webdriver.By.css('.fader');
driver.wait(webdriver.until.elementLocated(faderElement));
let faderElementFound = driver.findElement(faderElement);
driver.wait(webdriver.until.elementIsVisible(faderElementFound));
driver.wait(webdriver.until.elementIsNotVisible(faderElementFound));
このコードがどのようにOPが何を求めているのかを説明してください – Luuklag
コードは何とか自明ですが、最初の4行はフェーダーが見つかって見えることを確認します。多くの場合、フェーダーはすぐには見えないか、または識別できません。なぜなら、要素が配置されてから表示されるのを待っているからです。 5行目で、要素が徐々に消えたり消えたりするのを待っています。フェーダーがボタンを隠してしまったとすると、今度はそのボタンをクリックすることができます。 –
を、 'until.Condition'はコンストラクタではありません。 –