2017-04-13 120 views
0

我对硒很陌生,当我要从调色板中选择颜色时遇到错误。如何从C#中的硒webdriver中的颜色调色板中获取颜色#

enter image description here

当我试图找到使用XPath系统,网络元素返回"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(); 
+0

分享您的代码,以及目标页面'URL'或/和'的HTML' *调色板* – Andersson

+0

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); //选择值形式“BG Color下拉列表” IWebElement BGColorDropdownValue = driver.FindElement(By.XPath(“// * [@ id ='4f9e73b0-6ffd-465c-bbee-7a8214e76a78']/div [3]/DIV/DIV /一个“)); BGColorDropdownValue.Click(); –

+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因为它更灵活,可靠和详细

+0

嗨安德森,非常感谢你!我用你的代码,它工作正常!!!!! –