Как управлять браузером, который был открыт nodejs

#javascript #node.js #selenium

#javascript #node.js #селен

Вопрос:

Я хочу знать, как управлять открытым браузером? Я прочитал документы API, но не могу найти способ сделать это.


как java

 ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("debuggerAddress", "127.0.0.1:9222");
WebDriver driver = new ChromeDriver(options);
 

или python

 chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)
 

Но как это сделать с помощью nodejs (javascript)???
Я так запутался

Комментарии:

1. Вы заглядывали в Puppeteer?

2. нет, работает ли Кукловод?

3. Я посмотрю. Это кажется лучше, чем selenium

4. Взгляните here:browserstack.com/docs/automate/selenium/getting-started/nodejs


Ответ №1:


Взято из https://medium.com/dailyjs/how-to-setup-selenium-on-node-environment-ee33023da72d

Приведенный ниже скрипт откроет браузер Chrome, введет термин, отправит форму и вернет заголовок страницы. Если тест прошел успешно, то он должен распечатать пройденный тест

 const webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;

const driver = new webdriver.Builder()
    .forBrowser('chrome')
    .build();
driver.get('http://www.google.com').then(function(){
driver.findElement(webdriver.By.name('q')).sendKeys('webdrivern').then(function(){
    driver.getTitle().then(function(title) {
      console.log(title)
      if(title === 'webdriver - Google Search') {
         console.log('Test passed');
      } else {
         console.log('Test failed');
      }
     driver.quit();
    });
  });
});
 

Ответ №2:

Следующий шаг поможет вам :

 require('chromedriver');
var webdriver = require('selenium-webdriver');

 var chrome = require("selenium-webdriver/chrome");
    var chrome = require("selenium-webdriver/chrome");
    var options = new chrome.Options();
    options.options_["debuggerAddress"] = "127.0.0.1:9222";
    var driver = new webdriver.Builder()
        .forBrowser('chrome')
        .setChromeOptions(options)
        .build();

driver.get("https://www.google.com")
 

Комментарии:

1. Это решение помогло мне запустить мои тесты в экземпляре Chrome, который я запустил из командной строки /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome_dev_remote --no-first-run --no-default-browser-check