Доступ к фрейму в IE: результаты с translate.google.com - PullRequest
0 голосов
/ 04 декабря 2018

Я знаю, что есть API от Google, который делает именно это.Но всегда есть, но ... Я хотел бы получить доступ к обычному сервису перевода, доступному для каждого обычного пользователя, у которого есть экран, браузер и клавиатура.Допустим, это больше академический интерес.Кроме того, потому что у меня такая же проблема в других приложениях.Хорошо, моя программа очень, но очень простая.

 $objIE = New-Object -Com Internetexplorer.Application
 $url = "https://translate.google.com/#view=home&op=translate&sl=it&tl=en&text=questo%20testo%20voglio%20tradurre"
 $objIE.Navigate($url)

Теперь у меня есть перевод, в данном случае с итальянского на английский.Переведенный текст находится в элементе

 <span class="tlid-translation translation"><span title="" class="">I want to translate this text</span></span>

Как мне получить этот текст?Это должно быть довольно легко, так как мне приходится перемещаться только в DOM.Но как ?Я терплю неудачу с конструкцией кадров.Я публикую это, несмотря на доступный API, так как меня больше интересует навигация внутри фрейма.С этим у нас есть пример, доступный каждому для тестирования.

Огромное спасибо за каждый намек,

1 Ответ

0 голосов
/ 04 декабря 2018

ОК, я в начале решения.$ objIE.Document.body содержит желаемый перевод.Я могу сохранить это в тексте и просто разобрать этот текст.Нужный перевод находится внутри следующей строки. Переведенный текст

Переведенный текст, как вы можете догадаться, переведенный текст, кажется, работает вполне нормально.Очень просто, но ... и очень быстро.

...