我試圖創建一個selenium
在c#
自動UI測試。這裏是我的代碼:c#與硒:元素不可見
driver = new ChromeDriver();
driver.Manage().Window.Maximize();
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(30));
driver.Navigate().GoToUrl("my_url");
driver.FindElementById("textBox").Clear();
driver.FindElementById("textBox").SendKeys("tire");
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(30));
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
wait.Until((ExpectedConditions.ElementIsVisible(By.Id("Moto"))));
driver.FindElementById("Moto").Click();
使用wait.until之前,我得到異常ElementNotVisibleException
,但現在我得到異常WebDriverTimeoutException
因爲id爲「摩托」的元素是不可見的。
這裏是DOM的一部分截圖:
那麼,爲什麼moto的複選框沒有發現或不可見?
它不起作用。我仍然得到一個ElementNotVisible異常 –
它似乎是=「摩托」它的標籤覆蓋了我的輸入,這就是爲什麼它不可見 –
請試試這個,它可能有幫助 - 'WebElement element = driver.findElement(By.xpath( 「//輸入[@ ID = '納西克']」)); \t \t JavascriptExecutor js =(JavascriptExecutor)驅動程序; \t \t js.executeScript(「arguments [0] .click();」,element);' – NarendraR