Как я могу исправить эту ошибку о webdriver? - PullRequest
0 голосов
/ 04 сентября 2018

Я использую laravel Framework на PHP и изучаю webdriver, но недавно я получаю сообщение об ошибке, Можете ли вы посмотреть на мои ошибки?

Я установил Facebook / webdriver от https://packagist.org, и я выполнил в git bash, вот так.

composer require facebook / webdriver

После входа в сеть Java и установки Java, а затем загрузите файл selenium-server-standalone-3.14.0 и поместите его в папку myproject laravel

Я выполнил приведенный ниже код в git bash.

java -jar selenium-server-standalone-3.14.0.jar

Затем я установил URL для проекта laravel и написал приведенный ниже пример кода на контроллере

<?php

namespace Facebook\WebDriver;
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;


class TestController extends Controller
{
    public function index()
    {
        require_once('../vendor/autoload.php');
        // start Chrome with 5 second timeout
        $host = 'http://localhost:4444'; // this is the default
        $capabilities = DesiredCapabilities::chrome();
        $driver = RemoteWebDriver::create($host, $capabilities, 5000);
        // navigate to 'http://www.seleniumhq.org/'
        $driver->get('https://www.seleniumhq.org/');
        // adding cookie
        $driver->manage()->deleteAllCookies();
        $cookie = new Cookie('cookie_name', 'cookie_value');
        $driver->manage()->addCookie($cookie);
        $cookies = $driver->manage()->getCookies();
        print_r($cookies);
        // click the link 'About'
        $link = $driver->findElement(
        WebDriverBy::id('menu_about')
        );
        $link->click();
        // wait until the page is loaded
        $driver->wait()->until(
        WebDriverExpectedCondition::titleContains('About')
        );
        // print the title of the current page
        echo "The title is '" . $driver->getTitle() . "'\n";
        // print the URI of the current page
        echo "The current URI is '" . $driver->getCurrentURL() . "'\n";
        // write 'php' in the search box
        $driver->findElement(WebDriverBy::id('q'))
        ->sendKeys('php') // fill the search box
        ->submit(); // submit the whole form
        // wait at most 10 seconds until at least one result is shown
        $driver->wait(10)->until(
            WebDriverExpectedCondition::presenceOfAllElementsLocatedBy(
            WebDriverBy::className('gsc-result')
        )
        );
        // close the browser
        $driver->quit();
}

}

Наконец, я получил доступ к браузеру и получил следующую ошибку

JSON decoding of remote response failed. Error code: 4 The response: 

Не могли бы вы дать мне несколько советов о том, почему произошла ошибка?

мой английский очень низкий уровень. поэтому, пожалуйста, поймите мою ошибку и поблагодарите за чтение этого поста.

1 Ответ

0 голосов
/ 05 сентября 2018

Вы можете проверить это

PHP-WebDriver / вопросы / 350

PHP-WebDriver / вопросы / 347

Может быть, вам нужно установить для хоста что-то вроде - 'http://localhost:4444/wd/hub' - или, возможно, это проблема с библиотекой.

Также вы можете попытаться получить доступ к серверу селена при запуске и попытаться отладить его.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...