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

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

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

Q&A

解決済

1回答

1507閲覧

Selenium Offsetの使い方

AC1NIHEI

総合スコア6

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

0グッド

0クリップ

投稿2020/06/30 08:31

Selenium BasicとVBAでWeb操作を試みています。
ある画面要素を起点にある距離までずれた画像をクリックしたいのですが、
その値がうまくいきません。 Dim Selenium As New Selenium.ChromeDriver
.FindElementByName("vouCode").MoveByOffset(5, 5).Click

"vouCode"という名の要素のクリックは出来ますが、
そこからOffsetで指定した場所でのクリックをしようとして
式を組むと
オブジェクトはこのプロパティ又はメソッドをサポートしていませんと出てしまいます。

どなたか正しいご教示をお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Selenium は Python でしか触っていないので、参考程度の意見です。

相対位置でクリックする動作は、レイアウト変更などにも対応できませんし、
クリックでご希望の動作を実装したい場合は一意な値を基に操作する方が良いと思います。

理解の不十分な状態での提案で恐縮なのですが、
executescript で画像クリック後の状態を再現出来たりはしないでしょうか。
(VB系でも executescript が可能な様なので)

結局は、画像クリック時のイベントを発火させればそれで良いのではないかなと思っています。

投稿2020/07/01 14:00

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

AC1NIHEI

2020/07/02 02:20

回答ありがとうございます。画像クリックの動作に頼るのは、あるボタンが目で確認されるのに、そのXPathを指定して.FindElementByXPathでClickのコードを実行しても”要素がみつからない”というエラーが出てしまうためです。次善策として位置指定を考えました。そのボタンの位置あたりにカーソルをあてるとFindElementByXPathのClickのコードが実行可能になるのです。背景も質問に添えるべきでした。
退会済みユーザー

退会済みユーザー

2020/07/02 04:06

クリックしたいのは画像でなくボタンなのでしょうか? また、"FindElementByXPathのClickのコードが実行可能になる"の箇所は その画像(もしくはボタン)がクリック可能になるということでしょうか。 であれば、"カーソルをあてると"とのことですので、 マウスオーバーなどのイベントで実行可能になっていると思われます。 なので、そのままその位置をクリックしても何も起こらないのではないでしょうか。 仕様を理解していない為あくまで予想ですが、 掲載頂いているコードはマウスエミュレートでなく、 指定した位置でクリックイベントを起こすものではないかと考えております。 結局、該当のクリック動作時に発生するイベントはページ内で事前に定義されているはずですので、 クリックのエミュレートではなく、クリック後のイベントを直接発火してしまうのが楽な気がします。
AC1NIHEI

2020/07/06 00:27

返信が遅くなり申し訳ありません。初心者なもので、executescriptが分かりません。 画像要素のimg On Laod の部分のあたりを抜粋して コードを書けばいいのかとにかくやってみます。論点が表題と変わりましたので、この件は 一旦終了とさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問