C# 为什么我不能在代码中点击这个元素?

C# 为什么我不能在代码中点击这个元素?,c#,selenium,C#,Selenium,Actions动作=新动作(驱动程序); IWebElement we=driver.FindElement(By.XPath(“./*[@class='ms-crm-CommandBar-Button-ms-crm菜单标签']) action.MoveToElement(driver.FindElement(By.XPath(“./*[@class='ms-crm-CommandBar-Button ms crm菜单标签悬停']))。单击().Build().Perform() 预期要素如下:

Actions动作=新动作(驱动程序);
IWebElement we=driver.FindElement(By.XPath(“./*[@class='ms-crm-CommandBar-Button-ms-crm菜单标签'])
action.MoveToElement(driver.FindElement(By.XPath(“./*[@class='ms-crm-CommandBar-Button ms crm菜单标签悬停']))。单击().Build().Perform()

预期要素如下:


新的
创建新的潜在客户记录。

请注意,当鼠标悬停在上方时,此类“ms crm命令栏按钮ms crm菜单标签”
变为“ms crm命令栏按钮ms crm菜单标签悬停”


非常感谢。

当您搜索悬停元素时,它不存在。 所以首先需要悬停元素,然后才能找到并单击悬停的元素。
action.MoveToElement(driver.FindElement(By.XPath(“/*[@class='ms-crm-CommandBar-Button ms crm菜单标签'])).Build().Perform().MoveToElement(driver.FindElement(By.XPath(“/*[@class='ms-crm-CommandBar-Button ms crm菜单标签悬停']))。Click().Build().Perform()

在悬停情况下,首先需要移动到该元素,然后才能单击该元素

Actions actions = new Actions(driver);
action.moveToElement(mainMenu).moveToElement(driver.findElement(By.xpath("ur element"))).click().build().perform();

复制粘贴错误。实际上,在span/的前面没有“.”,在span下也有。。。新建创建一个新的潜在客户记录。您好-欢迎来到SO-请阅读之前的“如何提问”:结果消息:测试方法UnitTestProject1.CRMTest.CRM\u测试\u IE抛出异常:OpenQA.Selenium.NoSuchElementException:找不到xpath=/*[@class='ms-CRM-CommandBar-Button ms CRM菜单标签']的元素我尝试了下面的代码,并看到图标上的突出显示(lable+New),但Click根本不执行。Actions action=newactions(driver);action.MoveToElement(driver.findelelement(By.XPath(“//*[@ms-crm-Menu-Label']))。MoveToElement(driver.findelelement(By.XPath(//img[@src='/\u imgs/imagestrips/transparent_spacer.gif'])))。Click().Build().perform();此代码有效..最后。谢谢。Actions action=新操作(驱动程序);action.MoveToElement(驱动程序.FindElement(By.XPath(“/*[@class='ms-crm-Menu-Label']]))。单击().Build().Perform();driver.FindElement(By.XPath(“/*[@class='ms-crm-CommandBar-Button ms crm菜单标签悬停“]))。单击();我不明白我是如何帮助您的,因为您的代码使用的不是我的类,但我很高兴听到您解决了问题!Actions action=new Actions(驱动程序);action.MoveToElement(driver.findelelement(By.XPath(“/*[@class='ms-crm-CommandBar-Button ms crm菜单标签'])。Build().Perform();action.MoveToElement(driver.findelelement(By.XPath(“/*[@class='ms-crm-CommandBar-Button ms crm菜单标签悬停']))。单击().Build().Perform();结果消息:IE中的测试方法UnitTestProject1.CRMTest.crm_测试抛出异常:OpenQA.Selenium.NoSuchElementException:无法找到XPath==//*[@class='ms-crm-CommandBar-Button ms crm菜单标签']此代码有效..最后。谢谢。Actions action=new Actions(驱动程序);action.MoveToElement(driver.FindElement(By.XPath(“/*[@class='ms-crm-Menu-Label'])。单击().Build().P‌​expert();driver.FindElement(By.XPath(“/*[@class='ms-crm-CommandBar-B‌​按钮ms crm菜单标签悬停在“]”)。单击();