C# 如何使用C使元素在Selenium中显示为true#

C# 如何使用C使元素在Selenium中显示为true#,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,我想单击页面上的excel按钮,但出现“元素不可交互”错误。 调试它时,我看到元素显示设置为false。但是,我可以转到页面并单击元素,它会下载文件,使其工作,但在我运行代码时不会。我已经延长了等待时间,但这也无济于事。 这是我的密码 var excelButton = driver.FindElement(By.XPath("//div[contains(@class,'exportLabel') and contains(text(),'XLS (1000 max)')]&qu

我想单击页面上的excel按钮,但出现“元素不可交互”错误。
调试它时,我看到元素显示设置为false。但是,我可以转到页面并单击元素,它会下载文件,使其工作,但在我运行代码时不会。我已经延长了等待时间,但这也无济于事。 这是我的密码

  var excelButton = driver.FindElement(By.XPath("//div[contains(@class,'exportLabel') and contains(text(),'XLS (1000 max)')]"));
       
        System.Threading.Thread.Sleep(5000);
        excelButton.Click();

我相信,如果用户能够手动单击,那么脚本也应该能够单击它。我认为,您的页面正在渲染,在渲染过程中,脚本正在执行,或者浏览器尚未完成其工作,脚本正在执行

只要确保使用xpath选择了正确的div和元素,以防有两个具有相同控制标记和类的不同div


让我知道我是否有任何帮助

我相信如果用户能够手动单击,那么脚本也应该能够单击它。我认为,您的页面正在渲染,在渲染过程中,脚本正在执行,或者浏览器尚未完成其工作,脚本正在执行

只要确保使用xpath选择了正确的div和元素,以防有两个具有相同控制标记和类的不同div


如果有任何帮助,请告诉我

我在IWait wait上遇到语法错误。错误表明我需要为IWait生成一个类。这是C代码吗?@moe是的,这是C代码。如果您遇到错误,请尝试替代驱动程序。Manage().Timeouts().ImplicitWait=TimeSpan.FromSeconds(60);最初等待60秒,以验证OpenQA.Selenium.Support.UI库中是否有.IWait接口。是的,我有该库,但无法识别。我在IWait等待中遇到语法错误。错误表明我需要为IWait生成一个类。这是C代码吗?@moe是的,这是C代码。如果您遇到错误,请尝试替代驱动程序。Manage().Timeouts().ImplicitWait=TimeSpan.FromSeconds(60);最初等待60秒以验证OpenQA.Selenium.Support.UI库中是否有.IWait接口。是的,我有该库,但无法识别。编辑您的问题并添加相关HTML。我猜你得到的元素不是正确的。编辑你的问题并添加相关的HTML。我猜你得到的元素不是正确的。