如何更改Selenium中Xpath获取的按钮的可见性

时间:2013-06-06 05:16:33

标签: c# selenium nunit selenium-webdriver

您好我正在使用Nunit进行Selenium Automation测试。我有一个网格,其中有大量用户,网格的每一行都有一个删除按钮。但是只有在鼠标悬停时才能看到“删除”按钮。因此,当我运行脚本时,它会给我错误 -

Element is not currently visible and so may not be interacted with

按钮的Xpath是

  

“// div [1] / div [2] / div / section / div [2] / div [contains(。,'IE8 john)   史密斯')] / DIV / DIV [2] /按钮[1]“

我尝试使用selenium中的操作,但它仍然给了我同样的错误。

Actions actions = new Actions(Driver);
            var element = Driver.FindElement(By.XPath("//div[1]/div[2]/div/section/div[2]/div[contains(.,'" + fullName + "')]/div/div[2]/button[1]"));
            actions.MoveToElement(element);
            actions.Click();
            actions.Perform();

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

我认为以下程序将有所帮助

  1. 使用操作,将鼠标悬停在元素步骤
  2. 插入隐式等待,直到元素可见
  3. 点击按钮

答案 1 :(得分:0)

尝试使用JS强制元素可见:

 IWebElement element = driver.FindElement();
  js.ExecuteScript("arguments[0].style.visibility = 'visible', arguments[0].style.height = '1px'; arguments[0].style.width = '1px'; arguments[0].style.opacity = 1", element);
  element.Click();