Инстаграм и Селен. Как нажать на лайтбокс? - PullRequest
0 голосов
/ 25 августа 2018

Я создаю скрипт на Python, который помогает пользователям групп по взаимодействию с Instagram быстро получать фотографии каждого участника в каждом раунде.У меня проблема в том, что когда я попадаю в профиль пользователя, я не могу понять, как заставить Selenium щелкнуть первую фотографию.

Например, на https://www.instagram.com/earthpix/, если вы нажмете первуюфото, это скорее эффект лайтбокса.Я попытался найти соответствующий селектор CSS, но он каждый раз не работает.

Однако у него есть уникальный URL-адрес "https://www.instagram.com/p/Bm023pTFeLq/?taken-by=earthpix"

Моя цель - определить этот URL-адрес и заставить Selenium перемещаться по нему.Я могу легко щелкнуть значок сердца.

Любые советы здесь?

PS Если вы хотите увидеть текущий статус, я создал репо на Github.

https://github.com/nfordhk/instaHacks/blob/engagementGroups-autoRounds/engagementGroups.py

1 Ответ

0 голосов
/ 25 августа 2018

Код ниже получает все элементы А.Вы можете нажать и как в цикле.

photos = driver.find_elements_by_css_selector('article a')
for photo in photos:
    photo.click()
    #like
    #close photo

Протестированный код:

driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.get("https://www.instagram.com/earthpix/");

List<WebElement> photos = driver.findElements(By.cssSelector("article a"));
for (WebElement p:photos) {
    p.click();
}
...