(已解决)如何单击div中的图标?硒C#

时间:2020-02-18 13:10:41

标签: c# google-chrome selenium-webdriver

我需要单击一个div图标。这是html:

<div id="commandBarIconExcel"
 tabindex="0" aria-label="Exp" role="btn" 
class="commandBarItems__container"></div>

我尝试过的事情:

  1. driver.FindElement(By.CssSelector("div#commandBarIconExcel")).Click();

  2. driver.FindElement(By.xpath("/html/body/div[1]/div/div/div/div[2]/main/div/div[2]")).Click();

  3. driver.FindElement(By.Id("commandBarIconExcel")).Click();

  4. new WebDriverWait(driver, TimeSpan.FromSeconds(100)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible((By.CssSelector("div#commandBarIconExcel"))));

  5. new Actions(driver).Click(driver.FindElement(By.XPath("//div[@id='commandBarIconExcel']"))).Perform();

他们都给无法找到错误。有什么建议吗? 在我们从上方的某些下拉列表中进行选择后,该div将打开。

1 个答案:

答案 0 :(得分:0)

我能够使用JavaScriptExecutor完成

IWebElement elementa = driver.FindElement(By.CssSelector("div#commandBarIconExcel"));
IJavaScriptExecutor executor1 = (IJavaScriptExecutor)driver;
executor1.ExecuteScript("arguments[0].click()", elementa);