

Python、seleniumで社内サイトをスクレイピングしているのですが、チェックボックスにチェックをいれてから、押すボタン【確定ボタン】があります。

そこで、seleniumでそのサイトまでアクセスしたのち、下記のスクリプトでチェックボックスにチェックを入れようと考えました。

[code]

    script = 'document.querySelector("チェックボックスのCSSセレクタ").checked = true;'
    driver.execute_script(script)
    
[/code]

しかし、一時的にチェックは付くのですが、HTMLを確認してみたところ、`input type="checkbox"` の後に **checked**
と付いてくれません。

Checkedと付かなければ画面をスクロールして戻したらチェックは消えてしまいます。  
そのため【確定ボタン】を押してもなにも反応せず、、、。

もちろん`.click()`でならチェックは付き、`input type="checkbox"` の後に **checked**
と付いてくれるのですが、`.click()`を使用するとHTMLが変わってしまいcssセレクタがズレてしまうので使いたくありません。

煩雑な質問で申し訳ございませんが、何卒、宜しくお願い申し上げます。


CC BY-SA 4.0
2020-11-18T11:30:01.400
72037
2023-10-06T22:00:50.013
2020-11-20T03:33:10.257
32986
42270
question
python html google-chrome selenium
チェックボックスをJavascriptでチェックできてもinput type="checkbox" の後にcheckedが付かない


簡単な話フォーム自体がファンクションで動いてると思うので1番確認した方がいいかもしれないのがJavaで実際にほんとにそのIDを選択してチェックをしてるのか、他のところを見てチェックしてるのか、またはブラインドでチェックしているのかを確認するのが良いかと思いますよ。


CC BY-SA 4.0
2020-11-20T03:24:36.740
72083
2020-11-20T03:24:36.740
42800
72037
answer