前提・実現したいこと
Python selenuiumの練習で、自動で毎回同じレッスン名のレッスンを予約するプログラムを作ろうと思っています。
下記のHTMLソースから任意のプログラム名のdata-sidを取得し、onclickのイベントを実行したいと思っています。
該当のソースコード
ご指摘ありがとうございます。
仕様を理解しておらず大変失礼致しました。
lang
1<div class="unit_reserved" onclick="return jump_sheet(this);" data-sid="230108"> 2 <p class="start">07:00~07:45</p> 3 <p style="background-color:#BE7980;color:#000;">レッスン名</p> 4 <p class="time">スタッフ名</p> 5 </div> 6 7 8<form name="selected_lesson" method="POST" action="sheet.php"> 9 <input type="hidden" name="sid"> 10</form>
lang
1function jump_sheet(obj) { 2 var sid = obj.getAttribute('data-sid'); 3 if (sid == 0) { 4 return false; 5 } else { 6 document.selected_lesson.sid.value = sid; 7 document.selected_lesson.submit(); 8 } 9} 10
試したこと
当初data-sidではなく、レッスン名からxpathを取得しようと思っておりました。
1週間分1時間ごとのマトリクスのような形の予約フォームになっているのですが、
同時間帯の横並びのxpathがすべて同じで、xpathでの指定が難しいと思い、data-sidを取得する方法を検討しています。
class、id、xpahtなどはfind_element_by_***で要素を取得できると思いますが、
カスタムデータ属性の要素を取得する方法が調べても思ったものが出てきませんでした。
ご教示のほどよろしくお願い申し上げます。
補足情報(FW/ツールのバージョンなど)
python 3.6.4
selenium 3.12.0
あなたの回答
tips
プレビュー