Хотите использовать selenium-webdriver в приложении create-react-app - PullRequest
0 голосов
/ 04 августа 2020

Я хочу использовать selenium-webdriver в React. Итак, npx create-react-app my-app для создания реагирующего приложения. И используйте npm i selenium-webdriver, чтобы использовать selenium-webdriver. Затем загрузите chromedriver.

Я хочу протестировать Selenium, поэтому напишите приложение. js вот так.

import React from 'react';

const webdriver = require('selenium-webdriver');

class App extends React.Component {
  getSelenium = () => {
    var driver = new webdriver.Builder()
      .withCapabilities(webdriver.Capabilities.chrome())
      .build();

    var url = 'https://www.google.com/';
    driver.get(url);
  };

  render() {
    return (
      <div className="App">
        <header className="App-header">
          <p>hello</p>
          <button onClick={this.getSelenium}>button</button>
        </header>
      </div>
    );
  }
}

export default App;

и npm start, чтобы показать режим разработки. Но у меня такая ошибка.

./node_modules/selenium-webdriver/lib/http.js
Module not found: Can't resolve '../../../../bazel-genfiles' in 'C:\Users\COM\hiimDashboard\dashboard\node_modules\selenium-webdriver\lib' 

Почему я получил эту ошибку? Что такое bazel-genfiles ??

1 Ответ

0 голосов
/ 02 сентября 2020

Вы используете webpack? Попробуйте добавить ключевую цель: 'node' в свой webpack.config. js, например:

module.exports = {
  mode: 'development',
  target: 'node',
  entry: {
  ...
}

Это гарантирует, что среда, на которую вы нацеливаетесь, - Node.js, а не браузер, и поэтому будет игнорировать собственные зависимости.

Я видел это здесь: Webpack и TypeScript: не удается разрешить модуль child_process в node.d.ts

...