Я использую Selenium.WebDriver для C #, чтобы задать вопрос о Quora, просто набрав свой вопрос в блокноте.
Все работало нормально, так как мне пришлось его опубликовать.
Чтобы опубликовать егоМне нужно щелкнуть ссылку внутри промежутка, как это:
<span id="__w2_wEA6apRq1_submit_question">
<a class="submit_button modal_action" href="#" id="__w2_wEA6apRq1_submit">Add Question</a>
</span>
Чтобы щелкнуть по ней, я попробовал этот метод, который я использовал для всех моих предыдущих нажатий кнопок:
Выбор элемента и щелчок по нему:
var element = driver.FindElement(By.CssSelector(".submit_button.modal_action"));
element.Click();
Таким образом я могу получить элемент, но, к сожалению, он выдает «ElementNotVisibleException».При отладке моего приложения я мог видеть, что свойство Displayed
было установлено на False
, хотя это не так, потому что в моем ChromeDriver я мог четко видеть кнопку.
Чтобы избежать нажатия на элемент, я попытался IJavaScriptExecutor
и Driver.ExecuteJavaScript();
, чтобы щелкнуть ссылку через скрипт:
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("arguments[0].click()", element);
Та же логика была использована для Driver.ExecuteJavaScript();
, но я получаю тот же результат, но когда я пишу тот же скрипт на вкладке консоли DevToolsон отлично работает.
Как я могу решить эту проблему?