🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

472閲覧

facebook~webdriver~chromedriverのfindelementsでメソッドがないと言われる

sarasa_38765

総合スコア34

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/11/20 06:58

編集2019/11/20 08:49

phpで開発しています。
facebookのwebdriverとchromedriverをインストールしてHPのハードコピーを
取得するところまでは出来たのですがfindelementで要素にアクセスすると
Uncaught Error: Call to undefined method Facebook\WebDriver\Chrome\ChromeDriver::findElement()
そんなメソッドはないよと怒られてしまいます。マニュアルみても
findElemenet自体は存在するので詰まってしまっている状態です。

php

1require_once('/var/www/html/m_beef/vendor/autoload.php'); 2 3use Facebook\WebDriver\Chrome\ChromeDriver; 4use Facebook\WebDriver\Chrome\ChromeOptions; 5use Facebook\WebDriver\Exception\WebDriverException; 6use Facebook\WebDriver\Remote\DesiredCapabilities; 7use Facebook\WebDriver\Remote\RemoteWebDriver; 8use Facebook\WebDriver\Remote\RemoteWebElement; 9use Facebook\WebDriver\WebDriverBy; 10use Facebook\WebDriver\WebDriverExpectedCondition; 11use Facebook\WebDriver\Webdriverpoint; 12 13// ChromeDriver & facebook-webdriver 14 15 $width = 400; 16 $height = 400; 17 // 環境変数 18 putenv('webdriver.chrome.driver=/var/www/html/m_beef/tools/chromedriver'); 19 20 21 try 22 { 23 24 // 非表示設定で起動 25 $option = new ChromeOptions(); 26 $option->addArguments([ 27 '--no-sandbox', 28 '--headless', 29 '--disable-gpu', 30 ('--window-size=' . $width . ',' . $height), 31 ]); 32 $chrome = DesiredCapabilities::chrome(); 33 $chrome->setCapability(ChromeOptions::CAPABILITY, $option); 34 $driver = ChromeDriver::start($chrome); 35 36 37 38 $driver->get('○○○○'); 39 40 41 42 43 // スクリーンショット 44 $driver->takeScreenshot('/var/www/html/m_beef/tmp/aaa.png'); 45 46 $element = $driver->findElement(WebDriverBy::className("nlbc_button_search")); 47 $element->click(); 48 49 50 51 $driver->quit(); 52 } 53 catch (Exception $e) 54 { 55 var_dump($e); 56 } 57 58 59 60?> 61

この後、webdriverpointを追加してclassnameでfindelementしたら目的のボタンには辿り着きましたが

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

phpはあきらめてpythonでseleniumを動かすようにしました

投稿2019/11/22 00:13

sarasa_38765

総合スコア34

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問