Jam*_*son 2 c# selenium css-selectors selenium-webdriver
_driver.FindElement(By.CssSelector("[id='3_NewSiteMaintenanceButton']"));
Run Code Online (Sandbox Code Playgroud)
= 15.0s
_driver.FindElement(By.CssSelector("[id$='NewSiteMaintenanceButton']"));
Run Code Online (Sandbox Code Playgroud)
= 18.4s
_driver.FindElement(By.CssSelector("#3_NewSiteMaintenanceButton"));
Run Code Online (Sandbox Code Playgroud)
NoSuchElementException:无法使用css选择器找到元素==#3_NewSiteMaintenanceButton
_driver.FindElement(By.Id("3_NewSiteMaintenanceButton"));
Run Code Online (Sandbox Code Playgroud)
= 12.58s
Chrome和FireFox 分别在4秒和6秒内完成整个测试,而IE需要12-18秒才能找到单个DOM元素.为什么IE这么慢,我怎样才能提高性能呢?
ID选择器不能以数字开头,因为CSS标识符不能以数字开头.如果你没有引用属性选择器中的值,它们都会因为同样的原因而失败(虽然奇怪的是它会导致NoSuchElementException而不是其他东西,因为从技术上讲,选择器是无效的).
要使用ID选择器,您需要转义初始数字.如果数字来自变量,你仍然可以单独转义它,只需在哈希后立即放置转义:
_driver.FindElement(By.CssSelector("#\\" + prefex + "_NewSiteMaintenanceButton"));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
220 次 |
最近记录: |