Skip to main content

Instagram Web automation Python

I want to select a specific message in instagram DM's and then click the 3 dots on the messages and then click like, but the class name for the 3 dots and the like button isn't unique. How could I click on the 3 dots and then on the like button? Picture

I've tried selecting the DM's but they also have a non-unique class name.

This is the html of those buttons:

<div class="_ac72" role="listbox" tabindex="0"> <div class="xdt5ytf x78zum5"> <div class=" _acd3"> <div class="_acqt _acqu" role="listbox" tabindex="0"> <div class=" _ac1n"><div class=" _ac1r _ac1w"> <div role="button" class="_aa06" tabindex="-1"> <div class="_ab8w _ab94 _ab99 _ab9h _ab9m _ab9p _ab9- _abaa _abcm" style="min-height: 44px;"> <div class="_aacl _aaco _aacu _aacx _aad9 _aadf"> <div class="_aacl _aaco _aacu _aacx _aad6 _aade">Recep</div>

The current code I'm using:

from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains

#accesses opened chrome page
opt = Options()
opt.add_experimental_option("debuggerAddress","localhost:1234")#code for the browser

driver = webdriver.Chrome(executable_path="C:\Program Files (x86)\chromedriver.exe",chrome_options=opt)#uses the chromedriver
driver.get("https://www.instagram.com/direct/t/340282366841710300949128171519796513495")#opens website

#waits until webpage loads, hovers over message
try:
    element_to_hover_over = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.XPATH, "//div[contains(text(),'At')]"))
    )
    hover = ActionChains(driver).move_to_element(element_to_hover_over)
    hover.perform()
except:
    print("hover didn't work")

dots = driver.find_element(By.CLASS_NAME, "_abm0 _abl_")
dots.click()

^ accesses a chrome page which has Instagram already opened to messages page (manually)



source https://stackoverflow.com/questions/74407867/instagram-web-automation-python

Comments

Popular posts from this blog

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype

How to split a rinex file if I need 24 hours data

Trying to divide rinex file using the command gfzrnx but getting this error. While doing that getting this error msg 'gfzrnx' is not recognized as an internal or external command Trying to split rinex file using the command gfzrnx. also install'gfzrnx'. my doubt is I need to run this program in 'gfzrnx' or in 'cmdprompt'. I am expecting a rinex file with 24 hrs or 1 day data.I Have 48 hrs data in RINEX format. Please help me to solve this issue. source https://stackoverflow.com/questions/75385367/how-to-split-a-rinex-file-if-i-need-24-hours-data

ValueError: X has 10 features, but LinearRegression is expecting 1 features as input

So, I am trying to predict the model but its throwing error like it has 10 features but it expacts only 1. So I am confused can anyone help me with it? more importantly its not working for me when my friend runs it. It works perfectly fine dose anyone know the reason about it? cv = KFold(n_splits = 10) all_loss = [] for i in range(9): # 1st for loop over polynomial orders poly_order = i X_train = make_polynomial(x, poly_order) loss_at_order = [] # initiate a set to collect loss for CV for train_index, test_index in cv.split(X_train): print('TRAIN:', train_index, 'TEST:', test_index) X_train_cv, X_test_cv = X_train[train_index], X_test[test_index] t_train_cv, t_test_cv = t[train_index], t[test_index] reg.fit(X_train_cv, t_train_cv) loss_at_order.append(np.mean((t_test_cv - reg.predict(X_test_cv))**2)) # collect loss at fold all_loss.append(np.mean(loss_at_order)) # collect loss at order plt.plot(np.log(al...