如何将Chrome浏览器的搜索结果区域设置为特定国家/地区?

时间:2018-09-19 17:06:52

标签: java selenium google-chrome selenium-chromedriver

关于设置浏览器的语言,我看到了很多问题。但是在启动chromedriver时,是否可以将浏览器的搜索结果区域设置为特定国家/地区?

我不知道从哪里开始-所以我试图通过以下代码设置浏览器的语言,但这不能解决我的问题。

System.setProperty(“webdriver.chrome.driver”,”D:/DollarArchive/chromedriver.exe”);
ChromeOptions options = new ChromeOptions();
options.addArguments(“–lang= sl”);
ChromeDriver driver = new ChromeDriver(options);
driver.get(“http://google.com");

在初始化ChromeDriver时,我需要知道一种设置区域的方法。手动完成后-> Google->设置->搜索设置->区域设置->选择所需的国家/地区并保存。(如下图所示)

Region Setting in Google Chrome

但是我不想通过UI进行该过程。因此,我想找出ChromeOptions是否有办法做到这一点。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您实际上可以将浏览器驱动程序实例的代理设置为获取所需区域的搜索结果。例如,如果我要搜索特定区域(例如印度尼西亚)的搜索结果,则将为驾驶员实例设置印度尼西亚特定的代理,如下所示。您可以在这里找到世界其他地区的免费代理列表:https://free-proxy-list.net

设置代理的示例代码段如下:

    System.setProperty("webdriver.gecko.driver", "./Dependencies/geckodriver0.18.0");
    System.setProperty("webdriver.chrome.driver", "./Dependencies/chromedriver");

    Proxy p = new Proxy();
    p.setHttpProxy("103.66.44.19:53281");//replace this with your desired proxy
    p.setSslProxy("103.66.44.19:53281");//from https://free-proxy-list.net/

    DesiredCapabilities caps = new DesiredCapabilities();
    caps.setCapability(CapabilityType.PROXY,p);

    //For Chrome browser instance
    WebDriver driver = new ChromeDriver(caps);

    driver.manage().timeouts().implicitlyWait(90, TimeUnit.SECONDS);
    driver.get("https://www.google.com");
    Thread.sleep(20000);
    driver.quit();

    // For Firefox driver instance
    driver = new FirefoxDriver(caps);

    driver.manage().timeouts().implicitlyWait(25, TimeUnit.SECONDS);
    driver.get("https://www.google.com");
    Thread.sleep(20000);
    driver.quit();

答案 1 :(得分:0)

两种方式

简单的方法是将要搜索的国家/地区添加到搜索字段中。... 嘿,我说这很简单!

有趣的方法并不简单... Google通常使用您的IP地址来确定您的位置,这就是它为您提供广告的方式...以及它为您提供的所有“本地”数据。如果您有德语ip地址,则更有可能获得完整的德语项目列表...,也可以保留英语的语言,并让Google翻译为您提供帮助。

如果您找到一种简单的方法来通过您的Web请求发送伪造的ip并获得结果返回给您,我想知道,这样我就可以退出VPN支付