c# - C# Selenium 等到元素显示等于无
问题描述
所以我正在尝试使用使用 javascript 的 selenium 更新页面,问题是页面自身使用 javascript 来提示完成一个始终存在的元素,但是当更新不在进程中时,样式设置为
display: none;
我如何使用 (wait.Until) - 示例
wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.Id("")));
关于风格变化?
所以例子
wait.Until(Display: Block; is true);
Html 元素是,
<example id="example" style="display: none;" aria-hidden="true">
</example>
解决方案
要等待JavaScript更改元素属性,因为style="display: none;"
您必须诱导WebDriverWait,InvisibilityOfElementLocated()
您可以使用以下解决方案:
new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.InvisibilityOfElementLocated(By.Id("element_id")));
推荐阅读
- android - 如何在 AppBar ANDROID 中更改图标颜色菜单
- operating-system - 这种序列如何在不同的算法中出错
- excel - 从 VBA 中的网络托管 CSV 中提取数据
- c# - 检查设备是否具有跨平台方式的摄像头
- swift - 无法将信息传递给之前的 ViewController
- powershell - powershell 脚本调整以获得所需的结果
- php - 我的 foreach 数组变量有什么问题?
- c++ - 使用 GLM 矩阵和向量乘法返回错误的结果
- python - 用 tourtoise 和 postgresql 测试 aiohttp
- java - 反应式 Redis 主题中发布的消息不会发送到客户端