Как нажать кнопку с изображением, используя Javascript? - PullRequest
0 голосов
/ 26 августа 2018

Я пытаюсь сканировать мультиязычный веб-сайт opencart, который не имеет прямой ссылки на другие языковые версии, которые мне нужны, потому что я хочу сканировать его на всех доступных языках.И у него есть набор кнопок JavaScript, которые переключаются между языками без изменения URL.Но когда я захожу на этот сайт через сканер, он дает мне только один язык.

Для сканирования я использую Scrapy вместе с Splash, поэтому, насколько я понимаю, мне нужно передать часть кода javascript своему сканеру, чтобы щелкнутьНажмите кнопку, чтобы изменить язык, и только затем начните отображать веб-страницу на нужном мне языке для дальнейшего анализа.

Вот код кнопок:

<div id="language" class="lang-opacity">
    <img class="lang-active" src="http://example.com/catalog/view/theme/theme_name/image/flags/ru.png" alt="Русский" title="Русский" onclick="$('input[name=\'language_code\']').attr('value', 'ru'); $(this).parent().parent().submit();">
    <img src="http://example.com/catalog/view/theme/theme_name/image/flags/ua.png" alt="Украинский" title="Украинский" onclick="$('input[name=\'language_code\']').attr('value', 'ua'); $(this).parent().parent().submit();">
    <img src="http://example.com/catalog/view/theme/theme_name/image/flags/en.png" alt="English" title="English" onclick="$('input[name=\'language_code\']').attr('value', 'en'); $(this).parent().parent().submit();">
    <input name="language_code" value="" type="hidden">
    <input name="redirect" value="http://example.com/" type="hidden">
</div>

вот сам код функции:

function onclick(event) {
  $('input[name=\'language_code\']').attr('value', 'ru');
  $(this).parent().parent().submit();
}

Так какой код я должен передать своему сканеру для переключения языка для меня?

Спасибо.

1 Ответ

0 голосов
/ 26 августа 2018

«какой код я должен передать своему сканеру»

Я предполагаю, что вы передадите его через консоль браузера.Попробуйте:

$("input[name='language_code']").val("ru").closest("form").submit();

И просто замените ru на другой язык, который вам нужен ...

...