kochan2001
@kochan2001

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Seleniumで複数ある同じセレクターのボタンを順番に押したい

解決したいこと

複数ある同じセレクターのボタンを順番に押したいです。

よろしくお願いします。

発生している問題・エラー

対象となる要素あが複数あると下記のようなエラーが出ます。

エラーコード
 ElementNotInteractableError: element not interactable

該当するソースコード

HTML
<div id="button-list-warp">
    <ul>
        <li><button>ボタン1</button></li>
        <li><button>ボタン2</button></li>
        <li><button>ボタン3</button></li>
        <li><button>ボタン4</button></li>
        <li><button>ボタン5</button></li>
        <li><button>ボタン6</button></li>
        <li><button>ボタン7</button></li>
    <ul>
</div>
Selenium
const PullBtns = await driver.findElements(By.css('.button-list-warp > ul > li > button'))
for (let PullBtn of PullBtns) {
  await PullBtn.click()
}

前提として

  • li要素は動的に増える
  • HTMLは変更不可
0

1Answer

そのエラーは操作したい要素(またはその祖先)が display: none などで非表示になっていたり、他の要素の下に隠れていたり、ウィンドウの領域外に出ていたり、ようするに押せない状態のときに発生します。状況に合わせて、まず押せる状態になるよう操作してください。

1Like

Comments

  1. @kochan2001

    Questioner

    回答ありがとうございます!
    そうなんですね、、、
    試してみます!

Your answer might help someone💌