質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1465閲覧

python selemunでバーを移動させたい

Yuiti628

総合スコア71

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/10/03 10:52

編集2020/10/03 13:15

いくら調べてもそれらしい情報が出てこなくて困っています。

あるサイトのこのバーを右側に移動させたいのですが、これは可能でしょうか?
アイコンの選択画面で、範囲を決めるものです。

引用テキスト
イメージ説明

html

1<div class="footer"> 2 <div class="pro-area"> 3 <div class="min"> </div> 4 <div class="pro-warp"> <span class="point" style="transform: translateX(0px) translateZ(0px);"> </span> </div> 5 <div class="max"> </div> 6 </div> <button type="button" class="tb-btn tb-btn-primary tb-btn-middle confirm"> <span class="tb-btn-wrapper"> 提出 < 7 /span> </button> 8</div>

下記のようなもので、クリックは問題できます。『掴む』?といったこともselemunでできるのでしょうか?

python

1driver.find_element_by_class_name('point').click()

追記:

バーを最大まですると、
style="transform: translateX(193px) translateZ(0px);"
となり、 translateXの値だけが変わるようです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

検証できないのですが
どうでしょうか?

Python

1from selenium import webdriver 2from selenium.webdriver.common.action_chains import ActionChains 3from time import sleep 4 5~~ 略 ~~ 6 7element = driver.find_element_by_class_name('point') 8 9sleep(3) 10 11actions = ActionChains(driver) 12actions.click_and_hold(element) 13actions.move_by_offset(100,0) 14actions.perform()

参考URL
https://www.seleniumqref.com/api/python/actions/Python_click_and_hold_move_by_offset.html
https://jqueryui.com/slider/

テスト

Python

1from selenium import webdriver 2from selenium.webdriver.common.action_chains import ActionChains 3from time import sleep 4 5 6driver = webdriver.Chrome("Path to chromedriver.exe") 7driver.get('https://jqueryui.com/slider/') 8 9driver.implicitly_wait(10) 10driver.maximize_window() 11 12driver.switch_to.frame(0) 13 14element = driver.find_element_by_id("slider") 15 16sleep(3) 17 18actions = ActionChains(driver) 19actions.click_and_hold(element) 20actions.move_by_offset(100,0) 21actions.perform()

投稿2020/10/03 14:34

編集2020/10/03 15:02
Reach

総合スコア735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yuiti628

2020/10/03 15:02

ありがとうございます!!!!!!! 見事actions.move_by_offset(100,0)の数値を触ることでできました! 本当に助かりました
guest

0

ドラッグアンドドロップはできます。

サンプル

Python

1from selenium import webdriver 2from selenium.webdriver.common.action_chains import ActionChains 3import time 4 5#ChromeDriverのパスを引数に指定しChromeを起動 6driver = webdriver.Chrome("D:\chromedriver") 7#指定したURLに遷移する 8driver.get("https://www.xxx.com") 9#要素がロードされるまでの待ち時間を30秒に設定 10driver.implicitly_wait(30) 11#カレントウインドウを最大化する 12driver.maximize_window() 13#ドラッグ対象の要素が存在するフレームに切り替える 14driver.switch_to_frame(0) 15#移動元の要素と移動先の要素を取得 16source = driver.find_element_by_id("draggable") 17target = driver.find_element_by_id("droppable") 18#3秒間待機して移動前の位置を確認 19time.sleep(3) 20#移動元の要素をドラッグし移動先の要素へドラッグアンドドロップ 21actions = ActionChains(driver) 22actions.drag_and_drop(source,target) 23actions.perform()

投稿2020/10/03 11:17

takutakuya

総合スコア979

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yuiti628

2020/10/03 13:11

回答ありがとうございます。 ActionChainsは一度試しました。 しかし、これは「移動元」と「移動先」があって初めてできるかと思います。 バーには calss "point"しかありませんでした。 バーを最大まですると、 style="transform: translateX(193px) translateZ(0px);" となり、 translateXの値だけが変わるようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問