2017-07-08 8 views
-2

私は、Webページ上の文字列をチェックするためにSeleniumを使用しているwhileループを使用しています。返される値は、評価される値とまったく同じです。しかし何らかの理由で、文字列が等しくないと言っています。しかし、彼らは平等です。コードは以下の通りです。私は運がないとこれを戦うためにいくつかのことを試みました。私は間違って何をしていますか?ですから、基本的には、IFは赤が赤と等しくないと言っています。文の評価が間違っている場合

private void LookForString() 
     { 
      try 
      { 

       while (true) 
       { 
        IWebElement curStatus = ieDriver.FindElement(By.Id("sitestatus")); 
        if (!curStatus.Text.Equals(r.statusClosed)) 
        { 
         break; 
        } 
       } 
      } 
      catch (Exception) { RestartProgram(); } 
+5

_ "文字列が等しくないと言っています" _ - それらは等しくありません。 _ "しかし、彼らは平等です" - そうではありません。あなたは彼らがだと思うだけです。あなたが間違っている理由を正確に説明することはできません。問題を確実に再現する良い[mcve]を提供することを気にしなかったからです。しかし、私はあなたに保証します.C#は、2つの文字列値が互いに等しいかどうかについて、恣意的に混乱するだけではありません。 –

+0

'curStatus'と' r.statusClosed'の値は何ですか? –

+0

これは文字列の空白に問題がある可能性があります。 'curStatus.Text'と' r.statusClosed'の値の例は何ですか? [this](https://seleniumhq.github.io/selenium/docs/api/dotnet/html/P_OpenQA_Selenium_IWebElement_Text.htm)によると、 'IWebElement'の' Text'プロパティでは、先頭と末尾の空白が削除されますが、残りは崩壊する。 – Poosh

答えて

-2

、この方法を試してみてください:

のpublic static int型を(文字列ストラ、文字列STRB、ブール値ignoreCaseは)

EXを比較してください。 :String.Compare(s1、s2、true);

+1

これは質問に答えません。 OPは、2つの文字列が同じであると言っていますが、if文は機能しません。場合によってはうまくいかない代替比較方法を提供しても、この質問に答えることはできません。 – Enigmativity

関連する問題