所以我有2个按钮,一个出现在PC浏览器上,另一个出现在移动浏览器上,我试图点击一个。
<button class="A otherclasses" ng-hide="isMobile">Button A</button>
<button class="B otherclasses ng-hide" ng-hide="!isMobile">Button B</button>
当我尝试抓取在PC浏览器上显示的那个时,我收到此错误:
OpenQA.Selenium.ElementNotVisibleException : element not visible
我使用此代码抓取A:
IWebElement target = _driver.FindElement(By.CssSelector( “按钮[纳克隐藏= \” isMobile \ “]”)); Thread.sleep代码(500); target.Click();
我也试过用By.ClassName()抓住它,但仍然没有运气 测试在Visual Studio C#中。 司机是铬。 我试图避免引用文本'Button A',因为它根据语言而改变。 我一直在谷歌上搜索和摸索,即使我能看到它,我也无法抓住它。
答案 0 :(得分:0)
你试过吗
_driver.FindElement(By.CssSelector("button:not(.ng-hide)")).Click();