私は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>
、これらは、私はすでに試したものです
しかし、最初の要素のチェックボックスをクリックすることはできません。
[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- –
これはチェックボックス用です - [w3チュートリアルページ](https://www.w3schools.com/jsref/prop_checkbox_checked.asp)です。これはDOMによって、 'document.getElementById(" myCheck ")です。 checked = true; ' –
' iframeへの切り替え 'を扱う '