#node.js #selenium #webdriver
Вопрос:
Я пытаюсь соскрести немного текста из твиттера и дискорда на mac. Это код, который я использую :
const url_twitter = "https://twitter.com/CryptoKitties"
const url_discord = "https://discord.com/invite/cryptokitties"
const twitter_follower_xpath = '//*[@id="react-root"]/div/div/div[2]/main/div/div/div/div/div/div[2]/div/div/div[1]/div/div[5]/div[2]/a/span[1]/span'
const discord_members_xpath = '//*[@id="app-mount"]/div[2]/div/div[2]/div/div/div/form/div/div[1]/div[2]/div[2]/span'
const webdriver = require ('selenium-webdriver')
const chrome = require('selenium-webdriver/chrome');
const By = webdriver.By
const until = webdriver.until;
var path = require('chromedriver').path;
var service = new chrome.ServiceBuilder(path).build();
chrome.setDefaultService(service);
const driver = new webdriver.Builder()
.forBrowser('chrome')
.setChromeOptions(new chrome.Options().headless())
.build();
async function getFollowers(url, followers_xpath, timeout){
// getting the url
await driver.get(url)
// waiting
//await new Promise(resolve => setTimeout(resolve, timeout));
const text = await driver.wait(await until.elementLocated(await By.xpath(followers_xpath), timeout)).getText()
console.log(text)
}
async function main() {
await getFollowers(url_twitter, twitter_follower_xpath, 6000)
await getFollowers(url_discord, discord_members_xpath, 6000)
}
//getFollowers(url_twitter, twitter_follower_xpath, 6000)
getFollowers(url_discord, discord_members_xpath, 6000)
Проблема в том, что код запускается только один раз , если я раскомментировал первое утверждение, которое очищает twitter, оно зависает