【发布时间】:2019-05-04 01:20:32
【问题描述】:
我正在使用 Selenium.WebDriver for 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 的控制台选项卡时,它可以完美运行。
我该如何解决这个问题?
【问题讨论】:
标签: c# selenium xpath css-selectors webdriverwait