Дано:
<select name="dealer" d-id="select-dealer" placeholder="Please Select">
<option name="">Please Select</option><option value="123" name="test">123- test</option>
<option value="321" name="test2">321- test</option>
</select>
Я использую тестовую оболочку для автоматического тестирования селена, и опция селектора не работает, но у меня есть возможность заменить ее некоторым кодом js.
Что мне нужно, так это выполнить действие на экране, которое в основном выбирает значение по заданному индексу из раскрывающегося списка.
РЕДАКТИРОВАТЬ:
Придумал другой подход:
driver.find_element_by_xpath("//select[@d-id="select-dealer"]
and text()='123- test']").click()
Это также немедленно возвращает ошибку, когда я запускаю его
Message:
Timed out waiting for script to complete.
Stack Trace:
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteScriptCommand(String script, String commandName, Object[] args)
at OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteScript(String script, Object[] args)
at SeleniumDLL.WebLib.WebTargetAction.RunScript(String script)
at SeleniumDLL.TestShellWeb.RunScript(String script, String& scriptOutput)
Важное добавление: js запускается как сценарий селена на IE!