2017-04-13 19 views
0

セレンの新機能で、カラーパレットからカラーを選択するときにエラーが発生します。C#のセレンwebdriverのカラーパレットからカラーを取得する方法

enter image description here

私はXPathのシステムを使用してWeb要素が"Element not found"例外を返すことを見つけようとしています。

誰かが私を助けてください:)あなたはXPathで使用しようとしている

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'より、柔軟な信頼性と冗長だとして、あなたがrelative XPath instead of absoluteを使用する必要があることに注意してください*パレット* – Andersson

+0

IWebElement BGColorDropdown = driver.FindElement( "/ html/body/div [6]/div [2]/div/div [22]/span/span/span [2]/span") ); BGColorDropdown.Click(); System.Threading.Thread.Sleep(2000); //値の選択フォーム「BGカラードロップダウンリスト」 IWebElement BGColorDropdownValue = driver.FindElement(By.XPath( "* * [@ id = '4f9e73b0-6ffd-465c-bbee-7a8214e76a78']/div [3]/div/div/a ")); BGColorDropdownValue.Click(); –

+0

オリジナルのポスト内のコードを参照してください –

答えて

0

id属性は動的です。代わりに、コードの下からセレクターをお試しください:

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(); 

をまた、それがターゲットページと同様

+0

こんにちはAndersson、ありがとうございました!!!私はあなたのコードを使用し、それはうまく動作!!!!! –

関連する問題