john1990_1 Ответов: 1

Как нажать кнопку "слушать" в translate.google.com в управлении веб-браузером?


Это ссылка на Google Translate, переводящая слово: "собака"
Google Translate[^]

Мне нужно иметь возможность нажать кнопку source Listen и кнопку Listen переведенного языка.

Там нет идентификатора элемента.

Что я уже пробовал:

try
            {
                foreach (HtmlElement h in webBrowserGoogleTranslate.Document.All)
                {
                    

                    if (h.InnerHtml == @"<div class=""jfk-button-img""></div>")
                    {
                        h.InvokeMember("MouseDown");
                        h.InvokeMember("MouseUp");
                        h.InvokeMember("Click");
                    }
                    
                }
            }
            catch { }

1 Ответов

Рейтинг:
2

Thomas Daniels

Есть две кнопки прослушивания (исходный язык и язык назначения). Уникальная характеристика этих кнопок заключается в том, что они являются div элемент с src-tts как класс для источника и res-tts за результат (среди прочих классов). Так что зацикливайтесь на элементах и проверяйте наличие указанного класса:

HtmlElement sourceListenButton = null;
foreach (HtmlElement h in webBrowserGoogleTranslate.Document.GetElementsByTagName("div"))
{
    if (h.GetAttribute("class").Contains("src-tts")) // or res-tts; Contains because there are other classes too
    {
        sourceListenButton = h;
        break;
    }
}

if (sourceListenButton == null)
{
    // not found
}


john1990_1

listenButtons остается пустым списком...

Thomas Daniels

Я опубликовал альтернативу, которую вы можете попробовать, но в настоящее время у меня нет возможности проверить ее самостоятельно.

john1990_1

Извините еще 0.

Thomas Daniels

Являются ли кнопки уже видимыми в элементе управления в то время, когда вы вызываете этот код?

john1990_1

Да

Thomas Daniels

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

Thomas Daniels

Мне кажется, я нашел причину. Значение не "слушать" вашего интерфейса Google не является английским. Пожалуйста, попробуйте мой текущий код.

john1990_1

Это английский язык.
По-прежнему ноль...

Thomas Daniels

Я хотел проверить его, но, к сожалению, не смог даже полностью визуализировать документ. Все, что я получил, - это заголовок "Translate" и куча ошибок сценария...

john1990_1

https://www.codeproject.com/Questions/1272986/How-to-make-new-Google-translate-website-work-in-w