I am trying to send key for a drop down list in google chrome browser but i am receiving this error
OpenQA.Selenium.WebDriverException
HResult=0x80131500
Message=unknown error: cannot focus element
(Session info: chrome=68.0.3440.106)
(Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 10.0.17134 x86_64)
Source=WebDriver
StackTrace:
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebElement.Execute(String commandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebElement.SendKeys(String text)
at BnI.UITests.Register.TheOfficialInfoValidTest() in C:UsersmeUITestsRegister.cs:line 382
This is my method :
driver.FindElement(By.XPath("(.//*[normalize-space(text()) and normalize-space(.)='Country:'])[1]/following::span[2]")).SendKeys("USA");
This how its look in html :
<div _ngcontent-c4="" class="col-xs-8 no-padding-sides ng-star-inserted" style="">
<kendo-dropdownlist _ngcontent-c4="" class="custom-dropdown k-widget k-dropdown k-header ng-pristine ng-invalid ng-touched" formcontrolname="countryId" dir="ltr">
<span role="listbox" unselectable="on" class="k-dropdown-wrap k-state-default" id="k-d0697a91-baeb-4960-bfc1-c023903c1159" dir="ltr" readonly="false" tabindex="0" aria-disabled="false" aria-readonly="false" aria-haspopup="true" aria-expanded="false" aria-owns="dbfc0894-a4f5-4f1b-881f-1d88ccdc6002" aria-activedescendant="f65cbfa2-6280-4a84-908b-ba11da75d59d-undefined">
<span unselectable="on" class="k-input">
<!----><!---->Select Country ...
</span>
<span unselectable="on" class="k-select"><span class="k-i-arrow-s k-icon"></span></span><!---->
</span>
<!----><!---->
</kendo-dropdownlist>
</div>
This is the XPath :
xpath=(.//*[normalize-space(text()) and normalize-space(.)='Country:'])[1]/following::span[2]
This how dropdownlist value look like if i want to click on it using selenium IDE because this value is retrieved from database :
- First i clicked on the dropdownlist
- Second i selected the country
Is there another way to add value by keyboard in selenium instead of send key ?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…