如何使用Javascript单击图像按钮?

时间:2018-08-26 15:00:33

标签: javascript jquery scrapy opencart scrapy-splash

我正在尝试抓取多语言的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 :(得分:0)

  

«我应该将哪种代码传递给我的搜寻器»

我假设您将通过浏览器的控制台传递它。试试:

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

然后将ru替换为您需要的其他语言...