問題タブ [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.
linux - ブラウザのスクリーンショットを撮る Selenium/splinter が機能しない
特定のページのスクリーンショットを撮るためにスプリンターを使用するスクリプトがあります。このスクリプトを自宅のコンピューター (ubuntu) で実行すると、問題なく動作します (スクリーンショットを撮ります)。サーバーの端末(debiuan - sudo python)で実行すると、正常に動作します。ただし、サーバーでスクリプトを実行すると、画像を保存できないようです。
どうしてこれなの?Pythonには書き込み権限がないと言いがちですが、sudoでpythonスクリプトを実行し、ディレクトリをchmod 777しましたが、それでも画像を保存できません。
Python のアクセス許可を与える必要がある他の方法はありますか、またはこれはアクセス許可の問題ではありませんか?
スプリンターが写真を撮っているラインは
python - Python/Requests/BeautifulSoup を使用した効率的な Web ページのスクレイピング
Chicago Transit Authority bustrackerのWeb サイトから情報を取得しようとしています。特に、上位 2 つのバスの到着 ETA をすばやく出力したいと考えています。これは Splinter を使えばかなり簡単に行うことができます。ただし、このスクリプトをヘッドレス Raspberry Pi モデル B と Splinter と pyvirtualdisplay で実行すると、かなりのオーバーヘッドが発生します。
の線に沿った何か
トリックはしません。すべてのデータ フィールドは空です (まあ、 があります)。たとえば、ページが次のようになっている場合:
このコード スニペットs.find(id='time1').text
はu'\xa0'
、Splinter で同様の検索を実行すると、「12 MINUTES」の代わりに表示されます。
私は BeautifulSoup/requests に執着していません。Splinter/pyvirtualdisplay のオーバーヘッドを必要としないものが欲しいだけです。プロジェクトでは、文字列の短いリスト (上の画像など[['9','104th/Vincennes','1158','12 MINUTES'],['9','95th','1300','13 MINUTES']]
) を取得してから終了する必要があるためです。
python - Splinter: ImportError: 名前のブラウザをインポートできません
私は Splinter を初めて使用しますが、Python を数回使用しました。だから私はスプリンターを使ってウェブサイトを自動化したいと思っていました。しかし、実行すると「ImportError: 名前のブラウザをインポートできません」というエラーが表示されます。
これが私のコードです。
ターミナルでは、これが得られます。
エラーなしでこのプログラムを実行するにはどうすればよいですか? splinter.pyc の削除など、同様の問題の解決策を参照しましたが、役に立ちませんでした。
python - Splinter: zope.testbrowser の DriverNotFoundError
Python Splinter を使用して Web サイトを自動化し、そこからデータをスクレイピングしています。Browser() で空白のままにしているデフォルトのブラウザー モードを使用すると、Firefox が開き、記述されたタスクが完了しますが、ヘッドレス ブラウザー 'zope.testbrowser' を使用すると、次のエラーが発生します。ここで何をする必要がありますか?
javascript - Python: splinter で実際にアクセス可能なファイルのアップロード?
ユーザーが XML スタイルのファイルをアップロードして、ブラウザーで変更できるようにする Web アプリケーションがあります。
私はスプリンターでシナリオをテストしようとしています。入力が正しい場合 ( id="form-widgets-body"
):
...私はそれを問題なく見つけることができattach_file
、その名前で使用することもできます:
brwsr.attach_file('form.widgets.body', PATH_TO_FILE)
しかし、問題attach_file
は、実際にはファイルにアクセスできないことです。たぶん、何かが入力されたことを入力に伝えるだけで、他の種類のテストには適していますか? (たとえば、ドキュメント X をアップロードするまで、金融アプリの次の画面に進むことはできません)
代わりに試しsend_keys
ましたが、期待どおりに機能しませんでした:
そうは言っても、いくつかの質問:
send_keys
実際に私がやりたいこと (つまり、本物そっくりのアクセス可能なファイルのアップロード) を行いますか? もしそうなら、それを呼び出す正しい方法は何ですか?そうでない場合、他に何ができますか?(おそらくjsが必要ですか?)
python - Selenium Python ヘッドレス Web ドライバー (PhantomJS) が機能しない
そのため、セレンをヘッドレスドライバー、特に PhantomJS で動作させるのに問題があります。Ubuntu Webサーバー(Ubuntu 14.04.2 LTS)で動作させようとしています。
Python インタープリター (Python 2.7.6) から次のコマンドを実行すると、次のようになります。
私も試しました:
また、それをpythonパスに追加しました:
現在、root としてログインしています。phantomjs ディレクトリの権限は次のとおりです。
およびphantomjs/webdriver.pyの場合:
Selenium がインストールされ、最新であることを確認しました (pip install selenium --upgrade)。次の場所にインストールされています。
私は見てきました:
https://superuser.com/questions/674322/python-selenium-phantomjs-unable-to-start-phantomjs-with-ghostdriver - Windows 固有ですが、同様の提案に従うことはできません。
バックグラウンドでの Selenium の使用- 回答は PhatomJS をフルパスで提案します。
https://code.google.com/p/selenium/issues/detail?id=6736 - セレンをアンインストールして v2.37 をインストールしましたが、うまくいきませんでした。最新バージョンを再インストールしましたが、それでもうまくいきません。
さらに、いくつかの他のリンクは、ほとんどが executable_path を指定することを推奨しているようです。
chromedriverを使用して、ローカルでホストされているサーバー(OSX上)でプログラムをテストしています。私は実際にそのために Splinter ( https://splinter.readthedocs.org/en/latest/#headless-drivers ) を使用しており、他のヘッドレス ドライバー (django および zope.testbrowser) を試しましたが、同様の問題がありました。
必要に応じてドライバーを変更してもかまいません。
助けてくれてありがとう。
python - Splinter は本文のない html を保存します
splinter 0.7.3
Linux プラットフォームでモジュールを使用python 2.7.2
して、デフォルトの Firefox ブラウザを使用して Web サイトのディレクトリ リストをスクレイピングしています。
これは、html の [次へ] リンクをクリックして、ページ分割された Web リストを反復処理するコードのスニペットです。
次のような出力が表示されるので、リンクが機能していることがわかります。
HTMLを使用して各ページに保存するf.write(browser.html.encode('utf-8'))
と、最初のページで正常に機能します。後続のページでは、Firefox でレンダリングされたページを見ることができますが、html/regiser_...html
ファイルが空であるか、body タグが次のように欠落しています。
これは splinter から html を保存する既知の機能ですか? それを行うより良い方法はありますか?
python - フレームセット内の要素を見つけるにはどうすればよいですか?
Python splinter を使用してフレームセット内の要素を見つけるにはどうすればよいですか?
find_by_css
、 fi nd_by_xpath
、find_by_tag,
find_by_name
、find_by_value
およびfind_by_id
WebDriver:を試しfind_element_by_xpath
ました。
ElementDoesNotExist
上記の構文で他の要素を見つけることに成功しましたが、例外が発生しました。
python - セレンで見えない要素をクリックする方法は?
このコードを使用して、splinter のクリック ボタン オプションを確認しました。
そして私は例外を得ました:要素は現在表示されていないため、相互作用しない可能性があります。ブラウザを待つことは解決策ではありません(スリープメソッドを長時間作成してもまだ機能しないため)。これはhttps://splinter.readthedocs.org/en/latest/#sample-codeに示されているサンプルコードですが、私にとってはうまくいきません