Перейти к содержимому

Школа Тест-Аналитика
онлайн, начало 23 сентября
Программирование на Java для тестировщиков
онлайн, начало 18 сентября
Программирование на Python для тестировщиков
онлайн, начало 18 сентября
Тестирование REST API
онлайн, начало 21 сентября
Фотография

ОШИБКА. Selenium, Facebook WebDriver, PHP.

Selenium Facebook WebDriver PHP

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 sapr71

sapr71

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Петров Алексей Петрович

Отправлено 07 июня 2019 - 01:43

Добрый день! Пытаюсь разобраться с selenium.

 

Использую: selenium-server-standalone-3.9.1 и Facebook WebDriver.

 

 
При выполнении этого кода, все норм. Открывается в хроме страница гугл.

<?php
namespace Facebook\WebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
require_once('vendor/autoload.php');
$host = 'http://localhost:4444/wd/hub';
$capabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create($host, $capabilities);
$driver->get('https://www.google.com/');
print 'ok';
?>

 

А вот если добавляем строку : $driver->findElement(WebDriverBy::xpath('*[@id="tsf"]/div[2]/div/div[3]/center/input[2]'))->sendKeys('abc')->click();

<?php
namespace Facebook\WebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
require_once('vendor/autoload.php');
$host = 'http://localhost:4444/wd/hub';
$capabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create($host, $capabilities);
$driver->get('https://www.google.com/');
$driver->findElement(WebDriverBy::xpath('*[@id="tsf"]/div[2]/div/div[3]/center/input[2]'))->sendKeys('abc')->click();
print 'ok';
?>

 
 
То вылетает ошибка вот такая:

Fatal error: Uncaught Facebook\WebDriver\Exception\NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"*[@id="tsf"]/div[2]/div/div[3]/center/input[2]"} (Session info: chrome=75.0.3770.80) For documentation on this error, please visit: http://seleniumhq.or...ch_element.html Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:42:28.403Z' System info: host: 'OBR-PC', ip: '192.168.100.104', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_211' Driver info: driver.version: unknown in C:\xampp\htdocs\vendor\facebook\webdriver\lib\Exception\WebDriverException.php:102 Stack trace: #0 C:\xampp\htdocs\vendor\facebook\webdriver\lib\Remote\HttpCommandExecutor.php(326): Facebook\WebDriver\Exception\WebDriverException::throwException(7, 'no such element...', Array) #1 C:\xampp\htdocs\vendor\facebook\webdriver\lib\Remote\RemoteWebDriver.php(547): Facebook\WebDriver\Remote\HttpCommandExecutor->execute(Object(Facebook\WebD in [/size] C:\xampp\htdocs\vendor\facebook\webdriver\lib\Exception\WebDriverException.php on line [/size]102

 
 
Подскажите как быть, вчера весь день убил на поиск решения, так и не разобрался((
 
 
В качестве руководства использовал вот эту статью: http://kaplunenko.na...ake-screenshot/


  • 0

#2 Freiman

Freiman

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 566 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 07 июня 2019 - 07:06

1. Добавьте ожидание (как в той статье)
2. У поля ввода есть более читаемый локатор, например, name="q"
  • 0

#3 sapr71

sapr71

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Петров Алексей Петрович

Отправлено 07 июня 2019 - 08:21

1. Добавьте ожидание (как в той статье)
2. У поля ввода есть более читаемый локатор, например, name="q"

 

 

 

Добавил ожидание, изменил локатор. Выполняю этот код:

<?php
namespace Facebook\WebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
require_once('vendor/autoload.php');
$host = 'http://localhost:4444/wd/hub';
$capabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create($host, $capabilities);
$driver->get('https://www.google.com/');
$driver->wait(5, 1000)->until(WebDriverExpectedCondition::titleContains('Google'));
Sleep(5);
$driver->findElement(WebDriverBy::name('q'))->sendKeys('abc')->click();
print 'ok';
?>

Получаю этот ответ:

 

 

Notice: Undefined index: ELEMENT in C:\xampp\htdocs\vendor\facebook\webdriver\lib\Remote\RemoteWebDriver.php on line 190

Fatal error: Uncaught Facebook\WebDriver\Exception\UnknownCommandException: POST /session/82371d1d85f4a6526df4b2c40afd660a/element//value Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:42:28.403Z' System info: host: 'OBR-PC', ip: '192.168.100.104', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_211' Driver info: driver.version: unknown in C:\xampp\htdocs\vendor\facebook\webdriver\lib\Exception\WebDriverException.php:106 Stack trace: #0 C:\xampp\htdocs\vendor\facebook\webdriver\lib\Remote\HttpCommandExecutor.php(326): Facebook\WebDriver\Exception\WebDriverException::throwException(9, 'POST /session/8...', Array) #1 C:\xampp\htdocs\vendor\facebook\webdriver\lib\Remote\RemoteWebDriver.php(547): Facebook\WebDriver\Remote\HttpCommandExecutor->execute(Object(Facebook\WebDriver\Remote\WebDriverCommand)) #2 C:\xampp\htdocs\vendor\facebook\webdriver\lib\Remote\RemoteExecuteMethod.php(40): Facebook\WebDriver\Remote\RemoteWebDriver->execute('sendKeysToEleme...', Array) # in C:\xampp\htdocs\vendor\facebook\webdriver\lib\Exception\WebDriverException.php on line 106

 

 

 

 

Если пишу локатор которого нет например (name="qqqq"):

<?php
namespace Facebook\WebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
require_once('vendor/autoload.php');
$host = 'http://localhost:4444/wd/hub';
$capabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create($host, $capabilities);
$driver->get('https://www.google.com/');
$driver->wait(5, 1000)->until(WebDriverExpectedCondition::titleContains('Google'));
Sleep(5);
$driver->findElement(WebDriverBy::name('qqqq'))->sendKeys('abc')->click();
print 'ok';
?>

То получаю вот такой ответ:

 

 

Fatal error: Uncaught Facebook\WebDriver\Exception\NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"*[name='qqqq']"} (Session info: chrome=75.0.3770.80) For documentation on this error, please visit: http://seleniumhq.or...ch_element.html Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:42:28.403Z' System info: host: 'OBR-PC', ip: '192.168.100.104', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_211' Driver info: driver.version: unknown in C:\xampp\htdocs\vendor\facebook\webdriver\lib\Exception\WebDriverException.php:102 Stack trace: #0 C:\xampp\htdocs\vendor\facebook\webdriver\lib\Remote\HttpCommandExecutor.php(326): Facebook\WebDriver\Exception\WebDriverException::throwException(7, 'no such element...', Array) #1 C:\xampp\htdocs\vendor\facebook\webdriver\lib\Remote\RemoteWebDriver.php(547): Facebook\WebDriver\Remote\HttpCommandExecutor->execute(Object(Facebook\WebDriver\Remote\WebDriverCom in  C:\xampp\htdocs\vendor\facebook\webdriver\lib\Exception\WebDriverException.php on line 102

 

 

 

В обоих случаях открывается браузер, переходит на http://google.com и на этом все.


  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн




Темы с аналогичным тегами Selenium, Facebook, WebDriver, PHP

Количество пользователей, читающих эту тему: 1

0 пользователей, 0 гостей, 0 анонимных


    Ahrefs (1)
Яндекс.Метрика
Реклама на портале