作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我看到很多有关设置浏览器语言的问题。但是有没有办法在启动 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 -> 设置 -> 搜索设置 -> 区域设置 -> 选择所需的国家并保存。(如下图所示)
但我不想通过用户界面来完成这个过程。因此我想通过 ChromeOptions
找出是否有办法做到这一点。有什么想法吗?
最佳答案
您实际上可以为浏览器驱动程序实例设置代理来获取所需区域的搜索结果。例如,如果我想要特定区域(例如印度尼西亚)的搜索结果,我将为驱动程序实例设置印度尼西亚特定代理,如下所示。您可以在这里找到世界其他地区的免费代理列表: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();
关于java - 如何将 Chrome 浏览器搜索结果区域设置为特定国家/地区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52410980/
我是一名优秀的程序员,十分优秀!