selenium
  • xpath
  • 2017-11-27 8 views 0 likes 
    0

    私はxpathの問題に苦しんでいます。コードが処理されているiframe内に含まれていますテーブルのXpath - 複数のtrとtdを持つリスト - 最初の要素を見つけてチェックボックスをクリック

    webElement = Driver.FindElement(By.XPath("//*[contains(text(),'AAA1 Output')]//preceding::label/input[@class='ng-untouched ng-pristine ng-valid'][@type='checkbox']")); 
    
    webElement = Driver.FindElement(By.XPath("//*[.,'AAA1 Output')]//preceding::label/input[@class='ng-untouched ng-pristine ng-valid'][@type='checkbox']")); 
    
    webElement = Driver.FindElement(By.XPath("//*[contains(text(),'AAA1 Output')]//preceding::input[@class='ng-untouched ng-pristine ng-valid'][@type='checkbox']")); 
    
    webElement = Driver.FindElement(By.XPath("//*[.,'AAA1 Output')]//preceding::input[@class='ng-untouched ng-pristine ng-valid'][@type='checkbox']")); 
    
    webElement = Driver.Instance.FindElement(By.XPath("//div[@class='panel panel-info']//following::tr[contains(., 'AAA1 Output')]/td[1]")); 
    
    webElement = Driver.Instance.FindElement(By.XPath("//[contains(.,'ABC Output']//following::tr[contains(., 'AAA1 Output')]/td[1]")); 
    
    :私はチェックボックスをクリックして、リスト内の最初の行を見つけようとしている

    <div _ngcontent-c10 class="panel panel-info"> 
        <div _ngcontent-c10 class="panel-heading"> ABC Output </div> 
    <div _ngcontent-c10 class="panel-body"> 
    <form _ngcontent-c10 novalidate class="ng-untouched ng-pristine ng-valid"> 
    <div _ngcontent-c10 class="row"> 
    <table _ngcontent-c10 class="table tb-striped"> 
    <tbody _ngcontent-c10> 
    <tr _ngcontent-c10=""> 
          <td _ngcontent-c10="" class="td-fixed-width-35"> 
          <label _ngcontent-c10=""> 
           <input _ngcontent-c10="" type="checkbox" value="" class="ng-untouched ng-pristine ng-valid"> 
          </label> 
         </td> 
         <td _ngcontent-c10="" class="td-fixed-width-20 no-side-padding"> 
          <img _ngcontent-c10="" class="outputLogo" src="https://qa-server/Services/content/logos/AAAA1.png" alt="AAA1"> 
         </td> 
         <td _ngcontent-c10="" class="td-text-bold"> 
          AAA1 Output 
          <!----> 
         </td> 
    </tr> 
    <tr _ngcontent-c10=""> 
          <td _ngcontent-c10="" class="td-fixed-width-35"> 
          <label _ngcontent-c10=""> 
           <input _ngcontent-c10="" type="checkbox" value="" class="ng-untouched ng-pristine ng-valid"> 
          </label> 
         </td> 
         <td _ngcontent-c10="" class="td-fixed-width-20 no-side-padding"> 
          <img _ngcontent-c10="" class="outputLogo" src="https://qa-server/Services/content/logos/BBB1.png" alt="BBB1"> 
         </td> 
         <td _ngcontent-c10="" class="td-text-bold"> 
          BBB1 Output 
          <!----> 
         </td> 
    </tr> 
    <tr _ngcontent-c10=""> 
          <td _ngcontent-c10="" class="td-fixed-width-35"> 
          <label _ngcontent-c10=""> 
           <input _ngcontent-c10="" type="checkbox" value="" class="ng-untouched ng-pristine ng-valid"> 
          </label> 
         </td> 
         <td _ngcontent-c10="" class="td-fixed-width-20 no-side-padding"> 
          <img _ngcontent-c10="" class="outputLogo" src="https://qa-server/Services/content/logos/CCC1.png" alt="CCC1"> 
         </td> 
         <td _ngcontent-c10="" class="td-text-bold"> 
          CCC1 Output 
          <!----> 
         </td> 
    </tr> 
    

    、これらは、私はすでに試したものです

    しかし、最初の要素のチェックボックスをクリックすることはできません。

    +0

    [1] [1]そして多分この二つのトピックが役立つかもしれない[IFRAME内のXPATHを取る方法は?](https://stackoverflow.com/questions/37568726/how-take-xpath-inside-a-iframe)&[Selenium要素を見つけることができません(Python)WebScraping](https://stackoverflow.com/questions/32636453/selenium-unable-to-locate-element-python- –

    +0

    これはチェックボックス用です - [w3チュートリアルページ](https://www.w3schools.com/jsref/prop_checkbox_checked.asp)です。これはDOMによって、 'document.getElementById(" myCheck ")です。 checked = true; ' –

    +0

    ' iframeへの切り替え 'を扱う '