「Beat Sage」という音楽をBeat saverというゲームの譜面に変換してくれるサイトで「YoutubeのURLを貼り付け、レベルを選択し、変換する」という作業をseleniumで自動化するスクリプトを作成しています。簡単にできるかなと思ったら最後変換するボタンでボタンをスラッシュ(左から右にマウスをホールドして離す)するという動作が中々うまくいきません。
Python
1from selenium import webdriver 2import time 3 4 5 6driver = webdriver.Chrome(r'C:\chromedriver') 7 8#beatsageのURL 9url ="https://beatsage.com/" 10 11#URLにアクセス 12driver.get(url) 13 14#URLを記入する欄 15url_write = driver.find_element_by_css_selector("#__layout > div > div > div > section:nth-child(1) > div.field.is-grouped > div.control.is-expanded.paste > input") 16 17#入力したいURLを貼り付け 18url_write.send_keys("https://www.youtube.com/watch?v=w4XAz8Nlk4c") 19 20#検索ボタンをクリック 21driver.find_element_by_css_selector("#__layout > div > div > div > section:nth-child(1) > div.field.is-grouped > div.control.search > button").click() 22 23time.sleep(1) 24 25#レベルを追加 26driver.find_element_by_css_selector("#__layout > div > div > div > section:nth-child(1) > div:nth-child(9) > div > div:nth-child(2) > div:nth-child(2) > label > span.check").click() 27 28time.sleep(5) 29 30#変換ボタンをクリック 31driver.find_element_by_css_selector("#bottom > g > path:nth-child(1)").click() 32time.sleep(10) 33 34driver.quit()
【やってみたこと】
ドラッグ&ドロップ操作や要素の座標を取得するということもしてみましたがうまくいきませんでした。
ボタンをスラッシュさせなくともChrome上ではクリック操作で動作するので普通にボタンの要素をクリックしてみたのですがseleniumで制御しているときではサイトの方で「スラッシュしてください」とエラーが出てしまいます。
【環境】
windows
selenium 3.141.0
よろしくお願いいたします。
あなたの回答
tips
プレビュー