Python Seleniumによる自動化中に、処理に基づいてテキストボックスのTotal Amountが入力されるシナリオに遭遇しました。テキストボックスが表示されるまでに時間がかかります。以下のコードを使用してデータをフェッチしますが、取得するデータは ""(空の値)です。スリープを使用すると、合計金額が正しく取得されます。誰かが要素の属性値の変更を明示的に待つ方法を教えてもらえますか。
driver.find_element_by_css_selector('input#TotalAmount').get_attribute("value")
回答 2 件
どのコードを使用するかについての具体的な詳細はありませんが、解決策は、Selenium Waitを使用して、探している状態になるまで待つことです。
関連記事
- JSONから属性の値を取得するElasticsearchクエリ
- WooCommerce製品ページで製品属性の選択された値にアクセスします
- SKSpriteNodeでSKActionを使用すると、どの位置の値が変化しますか?そして、私はどのように位置の変化を説明しますか?
- 例外:属性が値なしで指定されています:url
- フレーム内のウィジェットの属性に値を割り当てます
- XSLTを介して属性値に改行を挿入できません
- 反応コンポーネントの入力に値属性が必要ですか?
- Python Webscraping:入力タグからvalue属性の文字列を取得するにはどうすればよいですか?
- 符号なし文字をベクトルに追加すると、その値が変更されます
- Jqueryは、選択したrowIndexの属性値を取得します
あなたは
time.sleep
を使用して正しい軌道に乗っていると思います 値が入力されるのを待ちますが、while True
を使用して値を改善できると思います 値が返されるまで試行を続けるブロック。以下を考慮してください。
この例では、whileブロックは
''
以外の値になるまで実行を続けます が返されるか、実行時間が5秒を超えるとWebDriverException
が発生します