Моя постановка проблемы связана с взаимодействием с веб-терминалом через селен
- Я вошел на один сайт.
- Я нажал на конкретное приложение Jupyter
- Я выбрал терминал в приложении Jupyter
- Я приземлился на пустой черный экран, где мне нужно передать приведенную ниже команду и получить токен доступа.
Команда
curl -X POST https://dummyterminal/oauth/token -k -H
'authorization: Basic Authcode' -H 'content-type: application/x-www-
form-urlencoded' -d
'username=username&password=#password&grant_type=password'
Я попытался также захватить весь поток из Selenium IDE, чтобы выяснить, есть ли в терминале какой-либо веб-элемент или нет. Для терминала он показываетвеб-элемент как cssSelector("canvas.xterm-cursor-layer")
через Selenium IDE, но когда я работал с тем же веб-элементом, он выдавал ошибку ниже
Я также пытался выполнить поиск в Google, но большинство решений было связано с взаимодействием шпаклевки с кодом Java, что означает взаимодействиенастольного приложения, которое замазано с помощью кода Java, но в моем случае мне нужно взаимодействие с терминалом на веб-основе (что-то вроде замазки) с селеном, чтобы я мог вставить туда свои команды и получить вывод
Я не являюсьсмог вставить указанную выше команду в веб-терминал, получив сообщение об ошибке: -
вывод: -
org.openqa.selenium.WebDriverException: unknown error: cannot focus element
(Session info: chrome=70.0.3538.77)
(Driver info: chromedriver=2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91),platform=Windows NT 10.0.16299 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 70 milliseconds
Build info: version: '2.53.0', revision: 'XXXX', time: '2016-03-15 16:57:40'
System info: host: 'XXXX', ip: 'XXXXXX', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_191'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.36.540470 (e522d04694cxxxx7e21272dbef4f9b818c91), userDataDir=C:\Users\XXXXX[enter image description here][1]\AppData\Local\Temp\scoped_dir3736_24657}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=70.0.3538.77, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=false, acceptInsecureCerts=false, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, setWindowRect=true, unexpectedAlertBehaviour=}]
Session ID: f629216f0f8cvvvvvv6f7d95
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327)
at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:122)
at getToken.getAccessToken.captureTerminalOutput(getAccessToken.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:639)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:816)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1124)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
at org.testng.TestRunner.privateRun(TestRunner.java:774)
at org.testng.TestRunner.run(TestRunner.java:624)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:359)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:354)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:312)
at org.testng.SuiteRunner.run(SuiteRunner.java:261)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1215)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
at org.testng.TestNG.run(TestNG.java:1048)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
===============================================
Default test
Tests run: 1, Failures: 1, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 1, Failures: 1, Skips: 0
===============================================