上のSendKeysを呼び出すときに、私はこのコードを持っている:Ocasional InvalidElementStateExceptionまたはElementNotVisibleException入力
IWebDriver driver = new FirefoxDriver();
driver.Manage().Window.Maximize();
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(30));
//Go to the powerbi site
driver.Navigate().GoToUrl("https://powerbi.microsoft.com/en-us/");
//Go to the page with login form
driver.FindElement(By.XPath("html/body/div[2]/header/nav/div/ul[3]/li[1]/a")).Click();
//Fill in email field
driver.FindElement(By.XPath("//*[@id='cred_userid_inputtext']")).SendKeys("[email protected]");
私は自分のコンピュータ上でこのコードを起動すると、すべてがエラーなしで正常に動作します。しかし、私の上司のコンピュータでこのコードを起動すると、時にはうまく機能しないことがあります。
エラーが発生した場合は、常に最後のコード行に表示されます。 InvalidElementStateException(対象要素が有効になっていない場合)またはElementNotVisibleException(対象要素が表示されていない場合)のエラーを覚えていません。
私はすべてがClick()メソッドにあるとします。 documentationさんのコメント:
この要素をクリックします。クリックによって新しいページが読み込まれる場合、Click()メソッドはページが読み込まれるまでブロックしようとします。
ブロックする方法はよく分かりません。
私にとってこの機能(ElementIsClickable)は機能しませんでした。私はExpectedConditions.ElementToBeClickable()関数を使用し、ここではうまく動作するコードを使用します: 'WebDriverWait wait = new WebDriverWait(driver、new TimeSpan(0、0、30)); var signIn = wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath( "xpath"))); signIn.Click(); '私は上記のコードの外観についてお詫び申し上げます:) – Zirochka