如何从C#中的selenium webdriver中的颜色托盘中获取颜色

时间:2017-04-13 11:32:17

标签: selenium

我对selenium很新,当我要从调色板中选择一种颜色时,我遇到了错误。

enter image description here

当我试图使用XPath系统找到该Web元素时,会返回"Element not found"异常。

有人请帮帮我:)。

    IWebElement BGColorDropdown = driver.FindElement(By.XPath("/html/body/div[6]/div[2]/div/div[22]/span/span/span[2]/span"));
BGColorDropdown.Click();
System.Threading.Thread.Sleep(2000);
//Select value form "BG Color dropdown list"
IWebElement BGColorDropdownValue = driver.FindElement(By.XPath("//*[@id='4f9e73b0-6ffd-465c-bbee-7a8214e76a78']/div[3]/div/div/a"));BGColorDropdownValue.Click();

1 个答案:

答案 0 :(得分:0)

您尝试在id中使用的

XPath属性是动态的。请尝试使用以下代码中的选择器:

IWebElement BGColorDropdown = driver.FindElement(By.LinkText("Add new record"));
BGColorDropdown.Click();
System.Threading.Thread.Sleep(2000);
IWebElement BGColorDropdownValue = driver.FindElement(By.XPath("//div[@data-container-for='BG_COLOR']/following::span[@class='k-icon k-i-arrow-s']"));    
BGColorDropdownValue.Click();

另请注意,您应该使用relative XPath instead of absolute,因为它更灵活,更可靠,更详细