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

Программирование на Python для тестировщиков
онлайн, начало 18 октября
Логи как инструмент тестировщика
онлайн, начало 21 октября
Тестирование REST API
онлайн, начало 21 октября
Организация автоматизированного тестирования
онлайн, начало 18 октября
Фотография

ОШИБКА. 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 437 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 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

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

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

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