#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