No.3ベストアンサー
- 回答日時:
ちょっと認識が間違っています。
> 1. 問題の画面を表示した後、十分待機して次のステートメントで表示したもの print(driver.page_source)
これが、画面に今表示されているページのHTMLです。
> 2. Chromeの右クリックでの[ページのソースを表示]によるもの
これは、最初にWebサーバーから取得したHTMLです。多くのページはその後、JavaScriptが動作してHTML書き換えて、書き換えた結果が 1 のHTMLです。
Seleniumを使ったプログラムの開発は、driver.get(URL)したあとで、一旦プログラムを中断し(デバッガーを使うとか、input("go next") 等を実行して入力待ちで止めるとか)、その時のブラウザ画面で「開発者ツール」を起動して(ChromeだとF12キーを押す)、開発者ツール画面でHTML(概ね上記の1相当)を見てそれを元にコーディングします。
正確に言うと、「画面に今表示されているページのHTML」は、driver.page_sourceのHTMLではなくて、開発者ツールで参照できるHTMLです。driver.page_sourceのHTML、つまり、Seleniumでdriver.find_element~~で見つけられる物は、それからiframeやシャドウDOMの中味を除いた物になります。
画面や開発者ツールの中はあるけど、その瞬間のdriver.page_sourceに無いものは、それらの中にあるタグかも知れないので、その中を探すコードに修正する必要がありますので、その場合は、iframeやシャドウDOMについて調べましょう。
サポートありがとうございます。
初心者の私に貴重な知識を与えて頂きました。
初心者故に回答頂いた内容はまだ良く理解できていません。
単刀直入に質問させて頂きます。
先の2に存在する下記ソースの文字列 "2023年12月11日現在" を1から取得することは可能ですか?
可能であれば、その方法をご教示お願いします。
<table width="600" border="0" cellpadding="2" cellspacing="0">
<tr>
<td align="right"><font size="-1">2023年12月11日現在<br>
<br></font></td>
</tr>
</table>
よろしくお願いします、
No.2
- 回答日時:
こんにちは
事象だけしか情報がないので、原因の特定は難しいと思いますが・・
ありそうなのは、取得したい要素が、あとからスクリプト等で生成されるものである場合、スクリプトの実行完了前に取得しようとすれば、要素は(まだ存在しないので)見つからないことになります。
あるいは、単純にソースの読み込みに時間がかかっているような場合、それを待たなければ同様のことが起こり得ます。
当該ページのソースを確認すれば、どちらのケースの可能性であるかは判断できるでしょう。
以下、ご参考にでもなれば・・
https://www.fenet.jp/dotnet/column/language/7851/
https://blog.ikedaosushi.com/entry/2018/08/08/00 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- Visual Basic(VBA) VBA: HTTPでのスクレイピング 2 2021/12/28 21:14
- Visual Basic(VBA) Edge操作のアプリが例外発生に 1 2023/03/12 21:22
- その他(プログラミング・Web制作) pythonでのカーソル移動がずれる 2 2023/07/30 08:51
- オープンソース Pythonのコードをexe化 1 2023/07/03 08:01
- Visual Basic(VBA) VBAのエラーについて 2 2023/08/02 17:46
- Visual Basic(VBA) excel vbaでselenium basic 3 2022/10/02 12:35
- Chrome(クローム) Webサイトの表示崩れの原因と対策 1 2022/08/01 23:16
- その他(プログラミング・Web制作) TwitterAPIを使用せずに自動ツイートする方法を知りたい。考え方としてはブラウザを擬似操作して 2 2023/02/02 17:16
- ドメイン・サーバー・クラウドサービス 自作サイトをサーバーにアップロードしたのですが… 2 2022/11/08 18:12
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
JRのjsonファイルって使って大丈夫そ?
その他(プログラミング・Web制作)
-
プログラミングで詰まった時って皆さんどうしていますか?
その他(プログラミング・Web制作)
-
パイソンの
C言語・C++・C#
-
-
4
プログラミング言語の制作方法について
C言語・C++・C#
-
5
そのまま使っただけなのに・・・python
その他(プログラミング・Web制作)
-
6
プログラムの素朴な質問です 分岐するコードを書く時に、 /** * 関数 */ sub(){ ...
その他(プログラミング・Web制作)
-
7
ものづくりに向いているプログラミング言語ってなんですか?家電にもプログラミングが使われてるとか
その他(プログラミング・Web制作)
-
8
C言語の関数と配列に関する質問
C言語・C++・C#
-
9
double型が正常に認識されていない恐れ
C言語・C++・C#
-
10
WindowsのCapsLock(キャップスロック)って、何の意味があるんですか?
C言語・C++・C#
-
11
C言語について。
C言語・C++・C#
-
12
プログラマーがHTMLとCSSでウェブデザインをするのは大人の幼稚園なんじゃないかと思い込んでる
その他(プログラミング・Web制作)
-
13
C言語 バッファについて。
C言語・C++・C#
-
14
良いプログラム、悪いプログラムの条件
その他(プログラミング・Web制作)
-
15
Pythonのre.split()の正規表現の使い方
その他(プログラミング・Web制作)
-
16
C言語って古いですか?
C言語・C++・C#
-
17
CやJAVa,Rubyなどプログラミング言語の分岐のコードを思いつく限り教えてください。 if(◯
その他(プログラミング・Web制作)
-
18
Int('1234') で、strをかんたんに整数で扱えちゃうパイソンはどうなってるんですか?
C言語・C++・C#
-
19
License='MIT' ってなんでmitなんですか??適当なのでもいいですか? パイソン
C言語・C++・C#
-
20
VisualStudio2022でC言語プログラムで全角文字を使用すると不明なエラーが表示される
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
エクセル関数を教えてください
-
String""から型'Double'への変...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
インポート時のエラー「データ...
-
マクロで"#N/A"のエラー行を削...
-
ApplicationとWorksheetFunctio...
-
VBA データ(特定値)のある最...
-
実行時エラー 438 の解決策をお...
-
【VB.NET】 パワポ操作を非表示で
-
文字列内で括弧を使うには
-
ASPで、変数名に、変数を入れら...
-
マクロの「SaveAs」でエラーが...
-
VBスクリプトでIEの404 not fou...
-
変数にするとエラーになる理由は?
-
「実行時エラー '3167' レコー...
-
実行時エラー'-2147467259(8000...
-
【VBA】ワークブックを開く時に...
-
ACCESSで値を代入できないとは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
マクロで"#N/A"のエラー行を削...
-
On ErrorでエラーNoが0
-
エクセルVBA 「On Error GoTo...
-
VBA データ(特定値)のある最...
-
実行時エラー'-2147467259(8000...
-
【VBA】ワークブックを開く時に...
-
VBでSQL文のUPDATE構文を使った...
-
ACCESSで値を代入できないとは?
-
マクロの「SaveAs」でエラーが...
-
Excel vbaについての質問
-
インポート時のエラー「データ...
-
Filter関数を用いた結果、何も...
-
「実行時エラー '3167' レコー...
-
バッチファイルで、あるスクリ...
おすすめ情報
問題の画面は、その前の画面のボタンのクリックで表示され、前の画面とは別タブに表示されています。
表示画面のHTMLソースの内容とは下記のものです。
1. 問題の画面を表示した後、十分待機して次のステートメントで表示したもの
print(driver.page_source)
2. Chromeの右クリックでの[ページのソースを表示]によるもの
上記の2の内容は、当然表示されている画面のソースですが、1はそれとは全く異なる別ページのものと思われます。
アドバイスにより、[開発者ツール]を少し学習し、今までより踏み込んだ使い方をしてみました。
その結果、幸いに要素を取得することに成功しました。
サポートありがとうございました。