¿Cómo enviar una solicitud de conexión en LinkedIn usando Selenium VBA?

LinkedIn es una de las redes sociales más influyentes. LinkedIn le permite establecer contactos con personas de la industria similar y organizaciones profesionales en su industria, así como en otras. Puede invitar a cualquier persona a conectarse y aceptar sus invitaciones para conectarse con usted. Si es una empresa/profesional y desea conectar una gran cantidad de perfiles, el envío manual de requests de LinkedIn Connect es una tarea que requiere mucho tiempo. En este blog, aprenderemos cómo podemos crear un script de Selenium en VBA para enviar requests automáticas de conexión mediante la URL del perfil de LinkedIn ya guardada en MS Excel. Primero, debe instalar Selenium para VBA. 

Paso 1: Cree un archivo de habilitación de macros de MS Excel

  • Cree un nuevo archivo de habilitación de macros de MS Excel con el nombre LinkedInProfile.xlsm .
  • Agregue la URL del perfil de LinkedIn en la columna A, como se muestra en la figura.
  • Agregue dos botones desde Desarrollador->Insertar->Botón con el nombre Abrir navegador , Enviar conexión .
Creating-MS-excel-file

 

Paso 2: configurar el editor de VBA para secuencias de comandos

  • Abra el editor de VBA presionando Alt+F11 o Desarrollador->Visual Basic .
  • En el Editor de VBA, inserte un nuevo módulo desde el menú Insertar-> Módulo . El nuevo módulo Module1 se agregará a su proyecto VBA.
  • Agregue una referencia para Selenium en el menú Herramientas->Referencias y elija Biblioteca de tipos de Selenium .
Choosing-selenium-type-library

 

Paso 3: crear un script de navegador abierto

  • Primero, necesitamos crear un script que abra el navegador. Pero, ¿por qué necesitamos un botón y un código separados para abrir el navegador? Esto se debe a que no queremos iniciar sesión en LinkedIn cada vez que se carga el navegador. Entonces, la primera vez que abramos el navegador, iniciaremos sesión con nuestras credenciales de LinkedIn. Entonces la próxima vez no necesitaremos iniciar sesión de nuevo.
  • Agregue el siguiente código en el Módulo1 recién creado.
  • Nota: El código driver.AddArgument “user-data-dir=” & ActiveWorkbook.Path & “\vbauserdata” significa que estamos definiendo el directorio de datos del usuario, por lo que todos nuestros inicios de sesión/historial/caché se guardarán en este directorio vbauserdata . Este directorio se creará en el mismo directorio donde se guarda nuestro LinkedInProfile.xlsm .
Option Explicit

' Global Variables
Dim driver As New WebDriver
Dim By As New Selenium.By
    

Sub OpenBrowser()
    On Error GoTo ErrorHandler
    
    If MsgBox("Are you sure to open Chrome Browser?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
    
    
    driver.AddArgument "user-data-dir=" & ActiveWorkbook.Path & "\vbauserdata"
    driver.Start "Chrome"
    driver.Get "https://www.linkedin.com/"
    
    
    Exit Sub
ErrorHandler:
    MsgBox Err.Description, vbCritical
End Sub

Paso 4: Crear secuencia de comandos de solicitud de envío de conexión

  • Agregue el siguiente código en el Módulo 1 recién creado justo después del código anterior.
Sub ConnectProfile()
    On Error GoTo ErrorHandler

    Dim i As Integer, startRow As Integer, endRow As Integer
    Dim linkedInURL As String
    
    '''Our profile will start form row 2 and can read till 5000 rows or no profile found
    startRow = 2
    endRow = 5000

    Application.DisplayStatusBar = True

    '''Read Excel file
    For i = startRow To endRow
        linkedInURL = ""
        
        linkedInURL = Sheets("ProfileURL").Range("B" & i).Value

        ''If there is no LinkedIn URL then exit script
        If InStr(linkedInURL, "linkedin") = 0 Then
            Exit For
        End If

        Application.StatusBar = "Running: " & linkedInURL

        ' Open current profile
        driver.Get linkedInURL
        
        ' HTML Code is taken by Inspecting element
        If driver.IsElementPresent(By.XPath("//div[@class='pvs-profile-actions ']//button[contains(@aria-label, 'Invite ')]")) = True Then
            Set connectButton = driver.FindElementByXPath("//div[@class='pvs-profile-actions ']//button[contains(@aria-label, 'Invite ')]")
            
            driver.ExecuteScript "arguments[0].click();", connectButton
            
            '' Send Connect Request
            Set sendButton = driver.FindElementByXPath("//button[@aria-label='Send now']")
            driver.ExecuteScript "arguments[0].click();", sendButton
    
            Application.Wait Now + #12:00:02 AM#
            
            Sheets("ProfileURL").Range("C" & i).Value = "Connect Request Sent"
        End If
    Next i

    Application.StatusBar = ""

    MsgBox "Script is completed successfully!", vbInformation

    Exit Sub
ErrorHandler:
    MsgBox Err.Description, vbCritical
    
    Application.StatusBar = ""
End Sub

Paso 4: Asigne macros a los botones

  • Cierre el Editor de VBA si ya está abierto.
  • Haga clic con el botón derecho en Abrir navegador y asigne la macro OpenBrowser . Además de asignar ConnectProfile al botón Enviar conexión .
Send-connect-button

 

Paso 5: Ejecutar secuencia de comandos

  • Haga clic en el botón Abrir navegador, se abrirá el navegador Chrome. Abre LinkedIn e inicia sesión con tus credenciales.
  • En Excel, pegue todos los perfiles de LinkedIn en la columna B para enviar requests de conexión y guardar datos.
  • Ahora haga clic en el botón Enviar conexión . Leerá los perfiles de LinkedIn de la columna B uno por uno y hará clic en el botón Conectar para enviar requests para todos los perfiles.
  • Después de todo, los perfiles están completos, la secuencia de comandos mostrará el mensaje ¡La secuencia de comandos se completó con éxito!

Publicación traducida automáticamente

Artículo escrito por vilash_99 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *