私は次のhtmlを持っています: これはクラスとカスタム属性を持っていますが、私はいくつかのヘッダーに同じclassNameを持っています。この要素を一意に取得してクリックする方法を知りたかったのです。セレンのカスタム属性をクリックする方法は?
<h4 class="font-white topic-heading progress-header no-margin width-80 d-table-cell" data-collapse-id="1">I. Introduction</h4>
これは私が試したものです: -
私はクラス= "フォント白..." データ・崩壊-ID = "1" との属性を取得しようとしました:
var element = driver.findElement(By.xpath("//*[@class='font-white topic-heading progress-header no-margin width-80 d-table-cell']")).getAttribute('data-collapse-id="1"');
console.log(element); // this prints a promise.
element.click(); //element.click is not a function exception
私も試してみました: -
var element = driver.findElement(By.xpath("//*[@data-collapse-id='1']"));
element.click(); // element.click is not a function exception.
私はセレンでこの要素を取得し、それをクリックする方法を知りたいと思いました。
これは、全体のdivがある:
driver.findElement(By.cssSelector("h4[data-collapse-id='1']")).click();
これはユニークであるため、動作するはずです、この属性によって要素を検索:
<div class="page-width d-table topic-heading-div">
<h4 class="font-white topic-heading progress-header no-margin width-80 d-table-cell" data-collapse-id="1">I. Introduction</h4>
<i class="fa fa-check font-white font-18 width-20 d-table-cell text-center vertical-center" aria-hidden="true"></i>
</div>
"h4"はヘッダータグであり、私の知る限りクリックできません。その行に続くHTMLコードは何ですか? –
私は答えのおかげでdiv全体を追加しました。 – kushal
/Iをxpathの最後に追加します。私はそれが動作すると信じて –