問題タブ [splinter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Splinter: 一意の要素ではない XPATH テキストの断片を取得する
question
Splinter を使用して、最初、下線、および最後の部分のテキストを取得し、変数に格納するにはどうすればよいですか?
下部の HTML を参照してください。次の変数に次の値を持たせたい:
私はここに行き、XPATHを使用しました
それらを以下のHTMLに適用しました。彼らはテストで必要な値を返しましたが、私のプログラムでは、Splinter はそれらを拒否しているようです:
何が間違っているのか、なぜ間違っているのか、コードをどのように変更すればよいのでしょうか?
参照されている HTML (問題をよりよく伝えるために「ジングルベル」に少し編集されています) はbrowser.html
、Splinter の機能を使用して取得されました。
python-3.4 - Spyder が破片を認識しない
splinter は Windows Vista にインストールされていますが、spyder をインポートするとエラーが発生します。
- Windowsコマンドプロンプトでインポートすると、正常にインポートされ、initファイルへのパスも表示されます。
- Spyder の PYTHONPATH Manager に明示的なパスを追加し、モジュール リストを更新しました。それでも、助けにはなりませんでした。
- PATH 環境変数を確認しました。Python、Python/Scripts & Python/Lib/site-packages へのパスが含まれています。PATH にはスペースが含まれておらず、PATH は実際には PATH ではなく PATH として名前が付けられています (おそらく、コマンド プロンプト経由で正常にインポートできるのはそのためです)
- splinter を再度インストールしようとすると (存在するかどうかを確認するためだけに)、pip は既に存在すると言います。アップグレードしようとすると、pip は既に最新であると言います
- スタックオーバーフローとウェブ全体でたくさんの記事を読みましたが、解決策はありませんでした。
- Spyder は、os、numpy などの他のパッケージを認識します。
このコードは、一時的なテスト マシンで正常に実行されました。システムで実行しようとすると、エラーで失敗しますImportError: No module named 'splinter'
パイソンver. 3.4; スパイダーver. 3.4
解決を願って…
完全なトラックバック:
runfile('E:/Rampy/DS/Python/Code/AGMARK.py', wdir='E:/Rampy/DS/Python/Code') トレースバック (最新の呼び出しが最後):
ファイル ""、1 行目、runfile 内 ('E:/Rampy/DS/Python/Code/AGMARK.py', wdir='E:/Rampy/DS/Python/Code')
ファイル "C:\Users\ramprasad.g\AppData\Local\Continuum\Anaconda3\lib\site->packages\spyderlib\widgets\externalshell\sitecustomize.py"、580 行目、実行ファイル execfile(ファイル名、名前空間) 内
execfile exec(compile(open(filename, 'rb').read(), ファイル名, 'exec'), 名前空間)
ファイル「E:/Rampy/DS/Python/Code/AGMARK.py」の 8 行目、splinter インポート ブラウザから
ImportError: 'splinter' という名前のモジュールがありません
proxy - プロキシ設定が正しいにもかかわらず、Splinter が URL にアクセスしない
以下のコードを使用して、ブラウザにプロキシ設定を追加しました。
Firefox ブラウザが開き、プロキシ設定を確認すると、正しい値が読み込まれます。browser.visit('https://www.google.com/')
しかし、それはエラーをスローしてURLをロードできません:
TimeoutError: [WinError 10060] 接続先が一定時間後に適切に応答しなかったため、接続試行が失敗したか、接続されたホストが応答しなかったために確立された接続が失敗しました
'accept_untrusted_certs': True
役立つ場合に備えて、proxy_settingsも追加しました。しかし、役に立たない。
作成されたブラウザ インスタンスに URL を手動で入力すると、ページに正常にアクセスします。
- 何か不足していますか?
- ブラウザーをデフォルトのプロファイルで起動する方法はありますか (すべてのプロキシ設定、拡張機能などが自動的に読み込まれるようにするため)? 試してみ
Browser(profile='profile_path')
ましたが、うまくいきませんでした。
希望を持って...
PS: 同じコード (プロキシ設定なし) は、直接インターネットを備えたシステムで完全に機能します。
python - splinter - ダンプされた html/スクリーンショットに実際に表示されるリンクの奇妙な ElementNotVisible 例外
私は splinter でいくつかのブラウザー テストを実行していますが、ある時点で、たどりたいリンクのあるページに出くわしました。この呼び出しは成功し、リンクを返します。
しかし、私はそれをクリックすることはできません:
ここで奇妙なのは、 をフォローしたりmy_browser.url
、 を見my_browser.html
たり試したりしたときにリンクが実際に存在することbrowser.show_screenshot(my_browser)
です。
そして、可視性を待つという問題ではないようです。クリックの前にクイックを追加してimport time(); time.wait(5);
もまだ機能しません (おそらくそれで十分ですが、それ以上待つこともできません)。
ここで何が欠けているのでしょうか?
python - ブラウザのアクションを自動化 - get_iframe with last.click
イベントを使用してlast.click()
もエラーは発生しませんが、イベントは実行されていません ( is_element_present_by_xpatch return true
)。
なにが問題ですか?