エクセルVBAでseleniumを使って、edgeの操作をしてます。 証券関係の仕事をしており、 分析のために楽天証券の国内株式のスーパースクリーナーの条件指定をVBAで行いたいです。
エクセルVBAでseleniumを使って、edgeの操作をしてます。 証券関係の仕事をしており、 分析のために楽天証券の国内株式のスーパースクリーナーの条件指定をVBAで行いたいです。 条件指定は添付画像のようになっており、オレンジのボタンをクリックすることで条件の指定が行えます。 ボタン部分のコードは以下の通りです。 <div class="boxselectitembox ui-selected" id="cmtse1"> <span class="name">東証1部</span><br> <span class="count"><span class="countval">2183</span>社</span> </div> このような場合は、以下のコードでボタンをクリックできると思うのですが、実行してみると、この条件指定の部分を除いた要素に対してのみの処理になってしまいます。(市場だけでなく、規模などものぞいた処理になってしまいます) for each element in driver.findelementsbytag("span") if element.text="東証1部" then element.click end if next このボタンは、画像の青い帯部分をクリックすると「規模」の部分のようにオレンジのボタンを隠す事ができます。 このボタンを隠す処理はjavaで書かれているようで、この部分のコード付近にjavaのコードが記載されています。 見当違いかもしれませんが、javaで隠せるようなボタンをVBAで選択するには、特別な処理が必要なのではないかと考えています。 どなたかお力添えいただけないでしょうか。
Visual Basic | プログラミング・100閲覧・250
ベストアンサー
提示されている画像のページを確認するには 楽天証券の登録とログインが必要なのかな? 実際の仕組みや動作はそのページ自体を見てみないとわからない HTMLコード内には最初から存在していて、表示だけをscript処理で書き換えているような場合であれば(Hidden設定の切り替え) 表示されていなくてもClickは可能 どこかをClickすることによって、HTMLコード自体を作り変えているようなら、先にその”どこか”のClickが必要 最終的にFormで送信しているようなら、パラメータをセットしてFormをSubmitすることで対応できる場合もあります いずれにせよ、HTMLコードの一部やページの一部画像だけでは判断はできない
質問者からのお礼コメント
iframeが原因ということが判明し、無事解決しました。 どうもありがとうございました!
お礼日時:1/28 22:55