How to locate Instagram Follow button with selenium (Python)

Viewed 3423

I'm trying to locate the 'follow' button element on an instagram page (using selenium).

I've found the main 'follow' button of a user's page (https://www.instagram.com/USERNAME/) with the following code:

follow_button = self.driver.find_element_by_css_selector('button')

Although after clicking the above element ^, now I'm trying to locate 'follow' buttons visible when you view a user's followers. Click here to see which buttons I'm referring to.

I've tried the following code but it doesn't work:

acc_follow_buttons = self.driver.find_elements_by_css_selector('button')

for acc in acc_follow_buttons[:15]:
    acc.click() 
    time.sleep(1)

I've also tried searching with Xpath, with no luck.

Could anyone with experience in Selenium help me with the code to locate the follow buttons on this page.

3 Answers

You have to search for the button by button text:

Follow_Button = driver.find_element_by_xpath("//*[text()='Follow']")

I don't have an Instagram account so I'm answering somewhat blind, but do the follow buttons have classes? If so then you can use driver.find_elements_by_class_name() to find the specific buttons.

try this. range here points to number of followers.add a code to get follower count and append it to range.note that, list starts from 1.

for i in range(1, 10):
                follow = driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/ul/div/li[{}]/div/div[3]/button'.format(i))
                follow.click()
                time.sleep(0.5)
Related