c# - Selenium WebDriver(IE 驱动程序)无法找到包含 ID 子字符串的元素

标签 c# internet-explorer selenium selenium-webdriver internet-explorer-9

_driver.FindElement(By.CssSelector("[id$='_NewSiteMaintenanceButton']"));

上面的行适用于 Chrome 和 FireFox,但是当我尝试在 IE 中执行它时,我得到:

Test Outcome: Failed Result

Message: OpenQA.Selenium.NoSuchElementException : Unable to find element with css selector == [id$='_NewSiteSearch_listbox'] Result StackTrace:

at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)

at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)

at OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(String mechanism, String value)

at OpenQA.Selenium.Remote.RemoteWebDriver.FindElementByCssSelector(String cssSelector)

at OpenQA.Selenium.By.<>c__DisplayClass1e.b__1c(ISearchContext context)

at OpenQA.Selenium.By.FindElement(ISearchContext context)

at OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(By by)

造成这种情况的原因是什么?我该如何解决?

编辑: 显式调用它:

_driver.FindElement(By.CssSelector("[id='#3_NewSiteMaintenanceButton']"));

也失败了,而在 Chrome 和 FireFox 中则有效

最佳答案

或者,查找元素 By.xpath():

_driver.FindElement(By.xpath("//*[ends-with(@id, '_NewSiteMaintenanceButton']"));

关于c# - Selenium WebDriver(IE 驱动程序)无法找到包含 ID 子字符串的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28195776/

相关文章:

c# - 启动 Visual Studio 2010 时更改默认环境设置

c# - 使用工作表作为数据源的 VSTO Excel 简单示例

c# - 如何从用户控件调用一个方法到aspx页面?

javascript - “SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is denied.” 在 IE11 中使用 fetch API

c# - 从相关的下拉框中选择一个选项 Selenium 网络驱动程序

c# - 单元测试 : Custom Timer Assert

javascript - Internet Explorer 处理数字输入的解决方法

html - IE Intranet 兼容性 View 不包括某些字体

java - 如何将 java 中的模式与下面字符串的断言 J 进行匹配

selenium - 如何增加 session 超时(默认为 30 分钟)