我已经看到了很多关于设置浏览器语言的问题。但是,有没有办法在启动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时设置区域的方法。手动完成后,选择谷歌->设置->搜索设置->区域设置->选择所需的国家/地区并保存。(如下图所示)
但我不想通过UI来完成这个过程。因此,我想知道是否有ChromeOptions
可以做到这一点。有什么想法吗?
发布于 2018-09-20 07:28:37
实际上,您可以为浏览器驱动程序实例设置代理,以获取所需区域的搜索结果。例如,如果我想要特定区域的搜索结果,比如印度尼西亚,我将为驱动程序实例设置Indonesia特定的代理,如下所示。你可以在这里找到世界上其他地区的免费代理列表: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();
发布于 2018-09-20 01:19:21
两种方式
简单的方法是将您要搜索的国家/地区添加到搜索字段中……嘿,我说过这很简单!
有趣的方式并不简单……Google通常使用你的ip地址来确定你的位置,这就是它为你提供广告的方式……以及它为你提供的任何“本地”数据。如果你有一个德国ip地址,你更有可能得到一个完整的德国项目列表...你也可以把语言留在英语里,让谷歌翻译来帮你翻译。
如果你找到一个简单的方法发送一个假的ip与你的网络请求,并得到一个结果返回给你,我想知道,这样我就可以不再支付VPN
https://stackoverflow.com/questions/52410980
复制相似问题