Войдите в Twitter с помощью Selenium + Python [duplicate]

при создании задания с использованием get-wmiobject назначает это задание переменной, то эту переменную можно передать в get-job для статуса или получения-задания для результатов

$ThisJob = start-job -scriptblock {param ($Target) Get-WmiObject -Class Win32_Service -ComputerName $Target -AsJob} -ArgumentList $server
$Timer = [System.Diagnostics.Stopwatch]::StartNew()
While ($ThisJob | Get-Job | where {$_.State -imatch "Running"}){
    If ($Timer.Elapsed.Seconds -ge 5) {
        echo "five seconds has passed, removing"
        $ThisJob | Get-Job | Remove-Job -Force
        } # end if
    echo "still running"
    Start-Sleep -Seconds 3
    } # end while

$Results = $ThisJob | where {$_.State -inotmatch "failed"} | receive-job
$Timer.Stop | out-null
97
задан DebanjanB 27 March 2018 в 12:51
поделиться

14 ответов

Я запускаю Protractor и столкнулся с той же проблемой.

Решение в моем случае было довольно простым.

$ npm update protractor -g

$ webdriver-manager update

2
ответ дан catch22 16 August 2018 в 00:48
поделиться
  • 1
    Если вы используете плагин gulp-protractor, обязательно обновите его. – Ilya Vinogradov 18 July 2018 в 21:28

В моем случае команда, я нахожусь в точках селена, в конкретный файл хромированной решетки, который у нас был. Чтобы заставить Selenium использовать обновленный хромированный реверс, я сначала установил его с помощью варева, а затем создал символическую ссылку для точки, где Selenium ищет ее:

brew install chromedriver
ln -s /usr/local/Cellar/chromedriver/2.36/bin/chromedriver /path/where/selenium/expects/chromedriver
0
ответ дан Chris 16 August 2018 в 00:48
поделиться

Ошибка говорит все:

System.InvalidOperationException : unknown error: call function result missing 'value'
  (Session info: chrome=65.0.3325.146)
  (Driver info: chromedriver=2.33.506120

Ошибка явно жалуется на InvalidOperationException

. Основная проблема - совместимость версий между используемыми вами двоичными файлами следующим образом:

  • Вы используете chromedriver = 2.33
  • Примечания к выпуску chromedriver = 2.33 ясно упоминают следующее:

Поддерживает Chrome v60-62

  • Вы используете chrome = 65.0
  • Release Заметки ChromeDriver v2.37 ясно упоминают следующее:

Поддерживает Chrome v64-66

  • Ваша версия Selenium Client нам неизвестна.

Таким образом, существует явное несоответствие между версией ChromeDriver ( v2 .33 ) и версия браузера Chrome ( v65.0 )

Решение

  • Обновление Селен до уровней тока Версия 3.11.0 .
  • Upgr ade ChromeDriver до Уровень ChromeDriver v2.37 .
  • Храните версию Chrome между Chrome v64.x- 66.x . ( в соответствии с примечаниями к выпуску ChromeDriver v2.37 )
  • Очистите ваше рабочее пространство Project через вашу IDE g20] и Восстановите ваш проект только с необходимыми зависимостями.
  • Используйте инструмент CCleaner , чтобы стереть все операции с ОС до и после выполнения вашего test Suite .
  • Если ваша версия Web Browser / Web Client слишком стар, то удалите ее с помощью Revo Uninstaller и установите последнюю версию GA и версию Web Browser / Web Client .
  • Выполните свой @Test.
8
ответ дан DebanjanB 16 August 2018 в 00:48
поделиться

Это связано с обновлением версии браузера Chrome с 64.xx до 65.xx

Теперь у вас есть 2 варианта для успешного выполнения ваших тестов.

  1. Снизьте рейтинг ваш хромированный браузер в предыдущую версию и со старым хронографом, который у вас есть.
  2. Обновите версию Chromedriver до версии 2.36 с обновленным браузером Chrome. https://chromedriver.storage.googleapis.com/index.html?path=2.36 и загрузите новый хромированный рекордер.

Вариант 2 лучше.

10
ответ дан Deepak N 16 August 2018 в 00:48
поделиться
  • 1
    Я в следующей среде: Ubuntu 16.04, GoogleChrome 65.0.3325.146, ChromeDriver 2.36.540471. И я до сих пор получаю точную ошибку выше. Что мне нужно изменить? Ошибка, однако, говорит, что я использую версию chromedriver версии 2.33.506092 ... – Armin 13 March 2018 в 20:01
  • 2
    Вы должны упомянуть точный путь последнего хромированного ребра, который вы обновили не старым. или Замените старый хромированный ремень на новый. Просто проверьте это. – Deepak N 14 March 2018 в 05:15
  • 3
    Если кто-нибудь столкнется с этой ошибкой в ​​Visual Studio, обновление этой версии приведет к устранению ошибки в пакете Nuget для браузера Chrome до версии 2.37 (на момент написания). – Gunarathinam 24 March 2018 в 00:55

После обновления браузера Google Chrome до версии 65.0.3325.146 (официальная сборка) (64-разрядная версия) , я также столкнулся с той же ошибкой при отправке значений в поле ввода, вот сообщение об ошибке ...

selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing 'value'

с использованием Chromedriver 2.32 и Google Chrome 65.0

Как я и сделал некоторые исследования по этому же вопросу, я нашел недавнее зафиксировать в Google chrome v65, которые помогают мне решить проблему.

Решение:

  • Обновите Google Chrome до последней стабильной версии (в моем случае это v65 в 9 / mar / 2018)
  • Загрузите и настройте последние chromedriver (v.2.36). Для настройки chromedriver (на Ubuntu) выполните следующие действия ... Извлеките загруженный zip-файл. Скопируйте извлеченный файл хромированных файлов в / usr / local / bin или в место, где вы обычно храните исполняемые двоичные файлы. Добавьте тот же путь (где вы поместите файл хромированной решетки) в переменную окружения PATH как

export PATH = $ PATH: / usr / local / bin

  1. Для тестирования установки перезапустите терминал и введите эту команду

chromedriver --version

, это будет покажите версию хромированного ребра, которую вы только что установили.

Примечание. Если хромированная решетка уже установлена ​​и настроена, просто замените существующий файл драйвера и если вы не знаете, где уже хранятся двоичные файлы Chromedriver, попробуйте найти файл, используя следующую команду

 sudo find -H / -type f -iname chromedriver
16
ответ дан Emrit 16 August 2018 в 00:48
поделиться
  • 1
    Это сработало для меня, высоко оценил Эмрит! – Kyle 22 April 2018 в 10:56

На случай, что это может быть полезно кому-то, мне нужен дополнительный шаг:

Я нахожусь на MacOS X. Я сделал

brew upgrade chromedriver
bundle exec chromedriver-upgrade

У меня есть хром-хелпер-жемчуг установленный, но он спрятан и требует префикса «bundle exec» или оболочка не может найти команду.

Вышеупомянутая проблема с исправлением.

0
ответ дан gischer 16 August 2018 в 00:48
поделиться

Если вы используете плагин gulp-protractor, обязательно обновите его.

0
ответ дан Ilya Vinogradov 16 August 2018 в 00:48
поделиться

У меня такая же ошибка, пожалуйста, загрузите последнюю версию ChromeDriver, и она будет работать нормально:)

https://chromedriver.storage.googleapis.com/index.html ? путь = 2,36 /

101
ответ дан Jesse de Bruijne 16 August 2018 в 00:48
поделиться
  • 1
    Я загрузил его и назвал Nuget и удалил все ссылки на 2.33, но все же он подключается к старому 2.33 одному? – Zaki Ahmed 8 March 2018 в 01:04
  • 2
    Я загрузил новейший chromedriver 2.36, и он по-прежнему не работает с Chrome Version 65.0.3325.146 (Official Build) (64-разрядная версия). По крайней мере, на Mac OS :( – neliCZka 8 March 2018 в 10:50
  • 3
    О, извинился, я на самом деле неправильно настроил свой путь, и после того, как я связал его с новым хронографом, мой скрипт действительно работает сейчас. Кстати, я использую Windows-машину. – Cliff Chew 8 March 2018 в 14:50
  • 4
    Если вы используете github.com/flavorjones/chromedriver-helper gem, затем запустите консоль chromedriver-update 2.36 – Bachet 12 March 2018 в 23:54
  • 5
    Если вы используете Homebrew, вы можете выполнить brew upgrade chromedriver – Diego Carrion 15 March 2018 в 05:35

Я запускаю Protractor (webdriver-manager) с Selenium в среде Windows, и мне пришлось сделать следующее:

  1. webdriver-manager update --versions.chrome="2.36" (Это скачало новый Chromedriver вправо путь, но не включил его в транспортир.)
  2. Измените %userprofile%\AppData\Roaming\npm\node_modules\protractor\config.json и изменили значение chromedriver с 2.32 на 2.36.
  3. Удалите мой старый chromedriver_2.32.exe из %userprofile%\AppData\Roaming\npm\node_modules\protractor\selenium для хорошей меры (не уверен, что это было необходимо.)

Или:

Когда появилось другое обновление Chromedriver, я больше не мог обновите этот путь. Настройки конфигурации по-прежнему ожидали старого пути и имени файла, и я не мог понять, где изменить этот параметр. Поэтому я просто переименовал последний хромированный рекордер в «chromedriver.exe» и застрял в C: \ Windows \ system32 (на который всегда ссылается PATH). Сырой, но эффективный.

0
ответ дан Jordan Rieger 16 August 2018 в 00:48
поделиться

Как упоминалось другими, последний хромированный редуктор сделал для меня трюк. Если вы скачали драйвер вручную и хотите сообщить appium, чтобы использовать новый хромированный рекордер, вы можете сделать это с помощью этой команды:

appium --chromedriver-executable /path/to/driver/chromedriver ....

0
ответ дан Mark Duivesteijn 16 August 2018 в 00:48
поделиться

Необходимо обновить хромированный рекордер: в консоли выполните: chromedriver-update 2.36

9
ответ дан Olga 16 August 2018 в 00:48
поделиться

Если вы находитесь на последнем стабильном Google Chrome (например, 67), я рекомендую:

brew uninstall chromedriver
brew tap homebrew/cask
brew cask install chromedriver

. Эти команды будут удалять текущий хромированный реверс, проверять наличие обновлений и устанавливать последние найденные (например, 2.40).

1
ответ дан S. Esteves 16 August 2018 в 00:48
поделиться

Если вы находитесь на Mac:

brew upgrade selenium-server-standalone
brew upgrade chromedriver

, если указанные выше два не установлены:

brew install selenium-server-standalone
brew install chromedriver
4
ответ дан Sandeep Shabd 16 August 2018 в 00:48
поделиться

Замените ChromeDriver.exe последней версией: 2.37. То же самое можно легко загрузить с Google.

9
ответ дан Satyendra Sharma 16 August 2018 в 00:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: