title: Xpath with text() contains and not contains other text, case insensitive
body: <p>I am trying to locate an element based on its text (I know, I know), and because there are two labels that contain some of the same words, I have to be able to locate it by some words but ensure it doesn't include other words.  On top of that, it needs to be case insensitive.  </p>
  
  <p>Example: I am trying to locate and click the checkbox associated with the text Some Text, but not Some Text Too.  The id and name, as well as the order (sometimes 'Some Text' is first, sometimes 'Some Text Too' is first) can vary from page to page depending on what else is shown, so I cannot rely on that to locate the correct checkbox.</p>
  
  <pre><code>&lt;td style="padding-bottom: 2px"&gt;&lt;input id="c_58" style="padding-left: 3px; background-color: rgb(255, 255, 255);" name="c_58" value="[dbo].[table].[Field]" type="checkbox"&gt;&lt;label for="c_59" style="padding-left: 3px;"&gt;Some Text Too&lt;/label&gt;&lt;/td&gt;
  
  &lt;td style="padding-bottom: 2px"&gt;&lt;input id="c_59" style="padding-left: 3px; background-color: rgb(255, 255, 255);" name="c_59" value="[dbo].[table].[Field]" type="checkbox"&gt;&lt;label for="c_59" style="padding-left: 3px;"&gt;Some Text&lt;/label&gt;&lt;/td&gt;
  </code></pre>
  
  <p>What I have that works:
      <code>//*[*[text()[contains(translate(., 'SOME TEXT','some text'), 'some text')]]]</code></p>
  
  <p>This finds the elements with <code>'Some Text'</code>, but also finds the elements with <code>'Some Text Too'</code>. Since sometimes the page renders with the elements in different order, I need to be able to ensure I'm only finding <code>'Some Text'</code> and not <code>'Some Text Too'</code></p>
  
  <p>I have tried :
      <code>//*[*[text()[contains(translate(., 'SOME TEXT','some text'), 'some text') and not(contains(translate(., 'TOO', 'too'), 'too'))]]]</code></p>
  
  <p>but that is not locating any element on the page.</p>