1 Commits

Author SHA1 Message Date
ad18256217 trying to use edge 2025-03-23 22:37:07 +01:00
4 changed files with 56 additions and 2160 deletions

View File

@ -1,4 +1,20 @@
rank,Latitude,Longitude,Name of City,Country,2021 Population,2020 Population,Growth,Population Difference,Population Change
1,35.6828387,139.7594549,Tokyo,Japan,37339804,37393128,-0.0014,53324,declined
2,28.6517178,77.2219388,Delhi,India,31181376,30290936,0.0294,890440,grew
3,31.2322758,121.4692071,Shanghai,China,27795702,27058480,0.0272,737222,grew
4,-23.5506507,-46.6333824,Sao Paulo,Brazil,22237472,22043028,0.0088,194444,grew
5,19.4326296,-99.1331785,Mexico City,Mexico,21918936,21782378,0.0063,136558,grew
6,23.7861979,90.4026151,Dhaka,Bangladesh,21741090,21005860,0.035,735230,grew
7,30.0443879,31.2357257,Cairo,Egypt,21322750,20900604,0.0202,422146,grew
8,39.906217,116.3912757,Beijing,China,20896820,20462610,0.0212,434210,grew
9,19.0759899,72.8773928,Mumbai,India,20667656,20411274,0.0126,256382,grew
10,34.6198813,135.490357,Osaka,Japan,19110616,19165340,-0.0029,54724,declined
11,24.8546842,67.0207055,Karachi,Pakistan,16459472,16093786,0.0227,365686,grew
12,29.5647398,106.5478767,Chongqing,China,16382376,15872179,0.0321,510197,grew
13,41.0096334,28.9651646,Istanbul,Turkey,15415197,15190336,0.0148,224861,grew
14,-34.6075682,-58.4370894,Buenos Aires,Argentina,15257673,15153729,0.0069,103944,grew
15,22.5414185,88.3576912,Kolkata,India,14974073,14850066,0.0084,124007,grew
16,-4.3217055,15.3125974,Kinshasa,DR Congo,14970460,14342439,0.0438,628021,grew
17,6.4550575,3.3941795,Lagos,Nigeria,14862111,14368332,0.0344,493779,grew
18,14.5907332,120.9809674,Manila,Philippines,14158573,13923452,0.0169,235121,grew
19,39.0856735,117.1951073,Tianjin,China,13794450,13589078,0.0151,205372,grew

1 rank Latitude Longitude Name of City Country 2021 Population 2020 Population Growth Population Difference Population Change
2 1 35.6828387 139.7594549 Tokyo Japan 37339804 37393128 -0.0014 53324 declined
3 2 28.6517178 77.2219388 Delhi India 31181376 30290936 0.0294 890440 grew
4 3 31.2322758 121.4692071 Shanghai China 27795702 27058480 0.0272 737222 grew
5 4 -23.5506507 -46.6333824 Sao Paulo Brazil 22237472 22043028 0.0088 194444 grew
6 5 19.4326296 -99.1331785 Mexico City Mexico 21918936 21782378 0.0063 136558 grew
7 6 23.7861979 90.4026151 Dhaka Bangladesh 21741090 21005860 0.035 735230 grew
8 7 30.0443879 31.2357257 Cairo Egypt 21322750 20900604 0.0202 422146 grew
9 8 39.906217 116.3912757 Beijing China 20896820 20462610 0.0212 434210 grew
10 9 19.0759899 72.8773928 Mumbai India 20667656 20411274 0.0126 256382 grew
11 10 34.6198813 135.490357 Osaka Japan 19110616 19165340 -0.0029 54724 declined
12 11 24.8546842 67.0207055 Karachi Pakistan 16459472 16093786 0.0227 365686 grew
13 12 29.5647398 106.5478767 Chongqing China 16382376 15872179 0.0321 510197 grew
14 13 41.0096334 28.9651646 Istanbul Turkey 15415197 15190336 0.0148 224861 grew
15 14 -34.6075682 -58.4370894 Buenos Aires Argentina 15257673 15153729 0.0069 103944 grew
16 15 22.5414185 88.3576912 Kolkata India 14974073 14850066 0.0084 124007 grew
17 16 -4.3217055 15.3125974 Kinshasa DR Congo 14970460 14342439 0.0438 628021 grew
18 17 6.4550575 3.3941795 Lagos Nigeria 14862111 14368332 0.0344 493779 grew
19 18 14.5907332 120.9809674 Manila Philippines 14158573 13923452 0.0169 235121 grew
20 19 39.0856735 117.1951073 Tianjin China 13794450 13589078 0.0151 205372 grew

File diff suppressed because it is too large Load Diff

View File

@ -9,23 +9,57 @@ import chrome, { ServiceBuilder } from 'selenium-webdriver/chrome';
import * as fs from 'fs';
import * as path from 'path';
import { getCities } from './lib/cities';
import { WebDriverUtils, saveContactInfoToCSV, useExistingChrome, disableCookiesInChrome } from './lib/utils';
import { WebDriverUtils, saveContactInfoToCSV } from './lib/utils';
import * as UIActions from './lib/UIActions';
import { randomUUID } from 'crypto';
import os from 'os';
import edge from 'selenium-webdriver/edge';
/**
* Function to visit TripAdvisor pages for each city
*/
async function visitCityPages(): Promise<void> {
const userHomeDir = os.homedir(); // gets C:\Users\<YourName>
const driverPath = path.join(userHomeDir, 'Documents', 'edgedriver_win64', 'msedgedriver.exe');
// Configure Edge service to use your custom driver path
const service = new edge.ServiceBuilder(driverPath);
const options = new edge.Options();
options.addArguments('--inprivate');
options.addArguments('--start-maximized');
let driver: WebDriver;
driver = await new Builder()
.forBrowser('MicrosoftEdge')
.setEdgeOptions(options)
.setEdgeService(service)
.build();
await driver.get('https://www.tripadvisor.com');
await WebDriverUtils.wait(5);
/*
// Connect to an existing Chrome browser running in debug mode on port 9222
const options = new chrome.Options();
// Set the debugger address to connect to the existing Chrome instance
options.debuggerAddress('localhost:9222');
// Create WebDriver instance that connects to the existing browser
const driver: WebDriver = await new Builder()
.forBrowser('chrome')
.setChromeOptions(options)
.build();
*/
const cities = getCities(path.join(__dirname, '../data/cities.csv'));
console.log('Connecting to existing Chrome browser...');
const driver = await useExistingChrome();
if (!driver) return;
// Visit each city's TripAdvisor page
for (let i = 0; i < cities.length; i++) {
const city = cities[i];

View File

@ -2,8 +2,7 @@
* Utility class for common WebDriver operations
*/
import { Builder, By, until, WebDriver } from 'selenium-webdriver';
import chrome from 'selenium-webdriver/chrome';
import { WebDriver, By, until } from 'selenium-webdriver';
import { writeFileSync, existsSync, appendFileSync } from 'fs';
import * as path from 'path';
import { ContactInfo } from './types';
@ -44,58 +43,3 @@ export function saveContactInfoToCSV(city: string, contactInfo: ContactInfo, fil
console.log(`Contact info saved to ${filePath}`);
}
export async function disableCookiesInChrome(): Promise<WebDriver | null> {
// Set Chrome options
const options = new chrome.Options();
// 1. Block all cookies
//options.setUserPreferences({
// 'profile.default_content_setting_values.cookies': 2, // 2 = Block all
// 'profile.block_third_party_cookies': true
//});
// 2. Optional: Launch in incognito for extra privacy
options.addArguments('--incognito');
options.addArguments('--start-maximized');
let driver: WebDriver | null = null;
try {
driver = await new Builder()
.forBrowser('chrome')
.setChromeOptions(options)
.build();
await driver.get('https://www.tripadvisor.com/');
console.log('Chrome launched with cookies disabled.');
// Optional: Verify cookies are blocked by trying to set/get a cookie
await driver.manage().addCookie({ name: 'test', value: '123' });
const cookies = await driver.manage().getCookies();
console.log('Cookies after trying to add:', cookies); // Should be empty or restricted
return driver;
} catch (error) {
console.error('Error:', error);
return driver;
}
}
export async function useExistingChrome(): Promise<WebDriver> {
// Connect to an existing Chrome browser running in debug mode on port 9222
const options = new chrome.Options();
// Set the debugger address to connect to the existing Chrome instance
options.debuggerAddress('localhost:9222');
// Create WebDriver instance that connects to the existing browser
const driver: WebDriver = await new Builder()
.forBrowser('chrome')
.setChromeOptions(options)
.build();
return driver;
}