テキストボックスにテキストを入力する必要があります。リストが自動拡張され、最初のアイテムを選択する必要があります。しかし、それは例外のために失敗します。 OpenQA.Selenium.NoSuchElementException。私はwait.Until()を使用してみましたが、同じエラーに直面しています。OpenQA.Selenium.NoSuchElementException - C#Selenium
try
{
IWebElement cityList = driver.FindElement(By.XPath("value"));
MouseClick(driver, cityList);
}
catch (OpenQA.Selenium.NoSuchElementException ex)
{
IWebElement cityList = driver.FindElement(By.XPath("value"));
MouseClick(driver, cityList);
}
編集
HTMLコード:
<input name="ctl00$cphmain$txtCity" type="text" maxlength="50" id="ctl00_cphmain_txtCity" class="mandsearchtxtbox" onkeypress="javascript:return ValidateInputAlphabeticValuesOnly(event);" onblur="javascript:return checkItemMsg(this)" style="width:180px;" autocomplete="off">
<div class="AutoExtenderHighlight">AMANDOLUWA</div>
wait.Until()とのコード
WebDriverWait wait1 = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until<IWebElement>((d) =>
{
try
{
return d.FindElement(By.XPath("//*[@id='citydiv']/div"));
MouseClick(driver, driver.FindElement(By.XPath("//*[@id='citydiv']/div")));
}
catch (OpenQA.Selenium.NoSuchElementException ex)
{
return null;
MouseClick(driver, driver.FindElement(By.XPath("//*[@id='citydiv']/div")));
}
});
WebDriverExceptionの編集2
HTMLコード(ボタン)
あなたが試したコードと関連するhtmlを追加してください。 – Guy
htmlコードと試したコードを追加しました。 wait.until()コードが正しいかどうかはわかりません。 –