我使用Selenium來測試vb.net網站,但是當我點擊btnNoMatch頁面發生變化,出於某種原因,Selenium似乎沒有更新源代碼,因爲我得到了下面的內容錯誤。Selenium找不到元素頁面
的錯誤
An unhandled exception of type 'OpenQA.Selenium.NoSuchElementException' occurred in WebDriver.dll
Additional information: Unable to locate element: #chkTermsAccept
我一直在使用睡眠嘗試,刷新和導航,但沒有運氣。如果我避免btnNoMatch點擊並直接導航到頁面,那麼它能夠找到頁面上的元素,但我無法做到這一點,因爲在單擊btnNoMatch後,信息將填充到文本框中。
守則
driver.Navigate().GoToUrl("http://Mysite.development.ie/")
Dim element As IWebElement = driver.FindElement(By.Id("LoginUsername"))
element.SendKeys("UserName")
Dim element1 As IWebElement = driver.FindElement(By.Id("LoginPassword"))
element1.SendKeys("Password")
Dim element2 As IWebElement = driver.FindElement(By.Id("LoginBtn"))
element2.Click()
System.Threading.Thread.Sleep(5000)
Dim element3 As IWebElement = driver.FindElement(By.Id("CustomerId"))
element3.SendKeys("1")
'Wait Time
System.Threading.Thread.Sleep(7000)
Dim element4 As IWebElement = driver.FindElement(By.CssSelector(".ClickCustomer"))
element4.Click()
Dim element5 As IWebElement = driver.FindElement(By.Id("cbxNoMobileNo"))
element5.Click()
Dim element6 As IWebElement = driver.FindElement(By.Id("btnNoNumberConfirm"))
element6.Click()
driver.FindElement(By.Id("btnNoMatch"))
element9.Click()
'System.Threading.Thread.Sleep(4000)
'driver.Navigate().Refresh()
'driver.Url = "http://Mysite.development.ie/Customer/1"
'System.Threading.Thread.Sleep(4000)
'driver.Manage().Window.Maximize()
''Dim wait As WebDriverWait = New WebDriverWait(driver, 4000)
'wait.Until(ExpectedConditions.visibilityOfElementLocated((By.Id("id"))))
Dim element10 As IWebElement = driver.FindElement(By.Id("chkTermsAccept"))
element10.Click()
Dim element12 As IWebElement = driver.FindElement(By.Name("txtName"))
element12.SendKeys("John")
System.Threading.Thread.Sleep(14000)
driver.Dispose()
感謝這個問題的任何幫助。
把一些明確的恨不得找個元素。 –
不要在接受的答案中編輯您的問題編輯......這會破壞問題的價值。如果人們想看到答案,他們可以看看下面接受的答案。 – JeffC