c# - 元素不可见 Selenium/C#

标签 c# selenium xpath selenium-webdriver

我通过 Xpath 获取按钮元素,但是当尝试点击它时,出现元素不可见异常

<div class="modal-footer">
   <button id="btnRegister" type="button" class="btn btn-primary btn-block">Register</button>
</div>

父div

<div class="modal fade in" id="registration-window" tabindex="-1" role="dialog" aria-labelledby="register-title" aria-hidden="false" style="display: block;">

最佳答案

要添加到您可以尝试的事情列表中:

问题可能比元素当前不可见要复杂一些。它前面可能有一个不可见的元素,无论您等待多长时间,它都不会显示。在这种情况下,您仍然可以通过几种方式获取它:

使用 javascript 滚动到它:

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].scrollIntoView()", yourElement);

或者...

用javascript点击它:

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].click()", yourElement);

关于c# - 元素不可见 Selenium/C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31811404/

相关文章:

python - 尝试使用 Python 查找并单击 Selenium 中的链接

html - Scrapy 编写未知深度的 XPath 表达式

c# - 如何在不丢失任何列的情况下读取 c# 中的 excel 文件?

C# WPF DataGrid 不显示来自 SQLite 3 数据库的小数

java selenium xpath 获取字符串值

selenium - Selenium IDE、Selenium RC 和 Selenium WebDriver 之间有什么区别?

java - Selenium 没有拾取 xpath 上找到的元素

ruby - 使用 XPath 选择根和子匹配表达式

c# - 反射 - 如何比较类型列表

c# - 如何使用 protobuf-net 或其他序列化程序序列化第 3 方类型?