По сути, я хочу отправить ключи на элемент ввода. Я попытался использовать метод SendKeys()
, но он не отправляет значение, которое я использовал, вместо этого он использует предыдущий атрибут значения поля ввода. Более того, использование SendKeys()
или использование ExecuteScript()
методов не изменяет атрибут значения элемента ввода. Ниже приведены фрагменты кода, которые я пробовал и до сих пор не работал:
// Wait for zipcode input box
Utilities.WaitUntilElementIsPresent(driver, By.CssSelector("input#fad-dealer-searchbar-search-textbox"));
// click to go to the us site
var zipcodeInput = driver.FindElement(By.CssSelector("input#fad-dealer-searchbar-search-textbox"));
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
zipcodeInput.Clear();
zipcodeInput.Click();
//js.ExecuteScript("arguments[0].setAttribute('value', '11361')", zipcodeInput);
//js.ExecuteScript("document.getElementById('fad-dealer-searchbar-search-textbox').setAttribute('value', " + zipcode + ")");
//js.ExecuteScript("document.getElementById('fad-dealer-searchbar-search-textbox').value=11361");
//js.ExecuteScript("document.getElementById('fad-dealer-searchbar-search-textbox').innerHTML = 11361;");
zipcodeInput.SendKeys(zipcode);
zipcodeInput.Submit();
zipcodeInput.SendKeys(Keys.Enter);
Вот элемент ввода, в который мне нужно ввести текст:
<div class="sdp-form-text-box-text-box-container search-textbox">
<input type="number" autocomplete="off" value="00002" data-validation-state="success" aria-invalid="false" aria-required="true" class="sdp-form-text-box-text-box gcss-button-align-left" id="fad-dealer-searchbar-search-textbox" maxlength="5" name="searchTextBoxValue" pattern="\d*" placeholder="Enter ZIP Code" required="" role="search">
</div>
Вот сайт, который я сканирую, если вам, ребята, нужно его проверить Chrysler .
Надеюсь, я правильно объяснил свою проблему. Любая помощь приветствуется.