can';t单击按钮(元素不可见)c#webdriver

can';t单击按钮(元素不可见)c#webdriver,c#,visual-studio,selenium,selenium-webdriver,C#,Visual Studio,Selenium,Selenium Webdriver,我试图点击一个按钮,但我得到“元素当前不可见,因此可能无法与之交互”,我如何解决这个问题? 我尝试使用如下命令: driver.FindElement(By.Id("btnSave")).Click(); driver.FindElement(By.Xpath(".//*[@id='btnSave']")).Click(); 很抱歉,我不明白如何在评论中正确使用html(只是删除了所有内容) 我刚刚发现有一个具有相同id的隐藏元素,那么如何处理这种情况呢 这意味着您找到了不可见的“保存”按钮

我试图点击一个按钮,但我得到“元素当前不可见,因此可能无法与之交互”,我如何解决这个问题? 我尝试使用如下命令:

driver.FindElement(By.Id("btnSave")).Click();
driver.FindElement(By.Xpath(".//*[@id='btnSave']")).Click();
很抱歉,我不明白如何在评论中正确使用html(只是删除了所有内容)


我刚刚发现有一个具有相同id的隐藏元素,那么如何处理这种情况呢

这意味着您找到了不可见的“保存”按钮

你应该改进你的定位策略。例如,在特定表单中查找按钮:

driver.FindElement(By.CssSelector("form#myform button#btnSave")).Click();
或者,只需获取所有按钮并按索引选择一个:

driver.FindElements(By.Id("btnSave"))[1].Click();

我刚刚发现有一个具有相同id的隐藏元素,那么如何处理这种情况呢

这意味着您找到了不可见的“保存”按钮

你应该改进你的定位策略。例如,在特定表单中查找按钮:

driver.FindElement(By.CssSelector("form#myform button#btnSave")).Click();
或者,只需获取所有按钮并按索引选择一个:

driver.FindElements(By.Id("btnSave"))[1].Click();

您确定元素实际上是可见的吗?是否有其他元素具有相同的id?谢谢。我刚刚发现有一个隐藏的元素具有相同的id,那么我该如何处理这种情况?你确定该元素实际上是可见的吗?是否有其他元素具有相同的id?谢谢。我刚刚发现有一个隐藏的元素具有相同的id,那么我该如何处理这种情况?这不起作用,我发现当我打开页面时,单击可以正常工作,但当我打开该页面中的某个弹出窗口并尝试单击之后,然后webdriver失去了焦点或其他东西,点击不再起作用@ŽygimantasDirma你说的不起作用是什么意思?有错误吗?您是否在页面上看到任何iFrame?我的意思是,单击可以正常工作,但当我打开和关闭该页面上的弹出窗口时,相同的单击命令不起作用,因为“元素当前不可见,因此可能无法与之交互”。没有iFrames弹出窗口是某种模式窗口这不起作用,我发现当我打开页面时,单击可以正常工作,但当我打开该页面中的某个弹出窗口并尝试单击后,webdriver会失去焦点或其他东西,单击不再起作用@ŽygimantasDirma你说的不起作用是什么意思?有错误吗?您是否在页面上看到任何iFrame?我的意思是,单击可以正常工作,但当我打开和关闭该页面上的弹出窗口时,相同的单击命令不起作用,因为“元素当前不可见,因此可能无法与之交互”。没有iFrames弹出窗口是某种模式窗口