javascript – Función para utilizar distintos números de WhatsApp en un mismo botón

Solicito su ayuda para realizar una función que me permita a través de variables de entorno utilizar distintos números de WhatsApp dependiendo de la localidad en la que es utilizada la app la cual es redirigida o determinada por distintos environment. Tengo un total de 10 localidades a las que quiero poder asignarles a cada una su número de localidad personalizado utilizando un único enlace a WhatsApp.
Mi app esta realizada en React.
Desde ya gracias por el crecimiento que día a día me brindan y los conocimientos que comparten. Saludos!

javascript – Como ejecuto 2 transiciones al mismo tiempo en CSS?

queria saber como ejecutar 2 transiciones iguales pero en diferentes elementos al mismo tiempo al apretar un boton.

Mi idea es que tengo 2 div, y un boton en el centro de la pantalla, lo que quiero es que al apretar el boton, el primer div se valla para arriba y el otro para abajo con transition. Hoy lo probe pero solo me muestra la primera animacion y la otra nada…

python 3.x – Seleccionar un selector entre varios con el mismo nombre de id en selenium

Queriendo hacer una presentación sobre hacking ético y formas de pirateo usando Selenium con python me encontré con un problema.
La página que elegí para hacer una demostración de cómo algunas personas crackean cuentas gratis de Disney+ usando Selenium me encontré con un problema.
En la pestaña de verificación de tarjeta de crédito me encontré con que hay 2 mismos selectores con el mismo id, por lo tanto al llegar a ese apartado no me continuaba

# Importar librerías
import pandas
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec

excel_credenciales = r'E:AutomatizarCuentasDisneydatos.xlsx'

df = pandas.read_excel(excel_credenciales)

# Leer usuario y contraseña del excel datos.xlsx
user = df('usuario')(0)
psw = df('contraseña')(0)
cardNum = df('tarjeta')(0)
cardName = df('nombre')(0)
date = df('fecha')(0)
cvv = df('cvv')(0)
# URL de la página a la que se va a acceder, en este caso disneyplus.com
url = 'https://www.disneyplus.com/'

# Selectores:
button_subscribe_now = '#cta-target > div.plan.plan-0.normal > div.button-group > a'
selector_email = '#email'
button_continue = '#dssLogin > div > div > button'
button_accept_and_continue = '#onboarding_index > div > div > div.sc-iQNlJl.gfSJkT > div.sc-bsbRJL.kGiVbS > button'
selector_password = '#password'
button_password_continue = '#dssLogin > div.sc-hwwEjo.rkHHK > button'
selector_card_name = '#billing-card-name'
selector_card_number = '#billing-card-number'
selector_card_date = '#billing-card-exp-date'
selector_card_cvv = '#billing-card-CSC'
button_accept_and_subscribe = '#credit-submit-button > span'

# Abrir Firefox
driver = webdriver.Firefox()
# Maximiza pantalla
driver.maximize_window()
#Abrir página desde variable url.
driver.get(url)

#Acciones
    # Hacer clic en Subscribe Now
driver.find_element_by_css_selector(button_subscribe_now).click()
    # Escribir el primer correo registrado en el excel
driver.find_element_by_css_selector(selector_email).send_keys(user)
    # Hacer clic en continuar
driver.find_element_by_css_selector(button_continue).click()
    # Hacer clic en accept and continue
driver.find_element_by_css_selector(button_accept_and_continue).click()
    # Escribir contraseña del excel
driver.find_element_by_css_selector(selector_password).send_keys(psw)
    # Hacer clic en continuar
driver.find_element_by_css_selector(button_password_continue).click()
    # Escribir nombre de tarjeta del excel
driver.find_element_by_css_selector(selector_card_name).send_keys(cardName)
    # Escribir número de tarjeta del excel
driver.find_element_by_css_selector(selector_card_number).send_keys(cardNum)
    # Escribir fecha de vencimiento de la tarjeta del excel
driver.find_element_by_css_selector(selector_card_date).send_keys(date)
    # Escribir el cvv de la tarjeta del excel
driver.find_element_by_css_selector(selector_card_cvv).send_keys(cvv)
    # Hacer clic en aceptar y subscribirse
driver.find_element_by_css_selector(button_accept_and_subscribe).click()

# Acciones extra
time.sleep(7)
driver.quit()

El selector duplicado es: #billing-card-name

IMPORTANTE: Lo he programado para Firefox asi que si alguien lo prueba que tenga geckodriver.exe instalado
IMPORTANTE2: Hay que crear un excel llamado “datos.xlsx” y poner la ruta de donde pongais el excel en la línea 9 del código entre las comillas simples ‘ ‘ .

python – ¿Como puede obtener la información de un class div, cuando hay más dos con ese mismo nombre?

Quiero obtener información de un sitio web (guardado en un class div) y hay muchos class div con ese nombre

Por el momento este es el codigo

from bs4 import BeautifulSoup
import requests

r = requests.get("https://fortnitetracker.com/profile/all/FazeDenniMata4/competitive")
soup = BeautifulSoup(r.content, "lxml")

puntos = soup.find("div", class_="trn-site-footer__copyright").text
print(puntos.strip())

Mi error es

Pero no imprime nada ya que hay más de dos class div en todo el sitio web

Django | Checkbox de FORM HTML por POST devuelve lista vacía y no el valor del mismo

Los checkbox los devuelve sin contenido, en cambio el answer devuelve corréctamente:
¿Cómo se debería hacer para poder conseguir el valor del checkbox?
Gracias.

View:

def saveUserAnswer(request):
    if request.method == "POST":
        answerCorrect = request.POST('answer')
        userAnswerA = request.POST.getlist('nameCheckboxA')
        userAnswerB = request.POST.getlist('nameCheckboxB')
        userAnswerC = request.POST.getlist('nameCheckboxC')
        userAnswerD = request.POST.getlist('nameCheckboxD')
        
        print(answerCorrect)
        print(userAnswerA)
        print(userAnswerB)
        print(userAnswerC)
        print(userAnswerD)

Salida consola:

introducir la descripción de la imagen aquí

HTML:

<form class="form-signin p-1" action="{% url 'test_app:saveUserAnswer' %}" method="post">{% csrf_token %}
      

    {% for tes in object_list %}
  <div class="text-center mb-4">
    <h3 class="h4 mb-3 font-weight-normal text-secondary">{{ tes.nameModality }}</h3>
  </div>      
  <div class="text-left mb-4">
    <h3 class="h3 mb-3 font-weight-normal">{{ tes.number }}.-{{ tes.question }}</h3>
  </div>


  <div class="checkbox mb-3">
    <label class="ml-4">
      <input id="idCheckboxA" type="checkbox" class="radio form-check-input" value="A" name="nameCheckboxA" /><a id="aidCheckboxA"> A .-{{ tes.a }}</a><br>
      <input id="idCheckboxB" type="checkbox" class="radio form-check-input" value="B" name="nameCheckboxB" /><a id="aidCheckboxB"> B .-{{ tes.b }}</a><br>
      <input id="idCheckboxC" type="checkbox" class="radio form-check-input" value="C" name="nameCheckboxC" /><a id="aidCheckboxC"> C .-{{ tes.c }}</a><br>
      <input id="idCheckboxD" type="checkbox" class="radio form-check-input" value="D" name="nameCheckboxD" /><a id="aidCheckboxD"> D .-{{ tes.d }}</a><br>
      <input id="Answer" style="visibility:hidden" type="hidden" name="answer" value="{{ tes.get_answer_display }}"><br>
    </label>

 
{% endfor %}
  </div>
  <button id="correctButton" style="background-color:#250F64; color:white; display:block" class="btn btn-lg btn-block" type="button" onclick="correct()">Corregir</button>
  <button id="nextButton" style="background-color:#250F64; color:white; display:none" class="btn btn-lg btn-block" type="submit">Siguiente</button>
  <a href="{% url 'home_app:home' %}"><p class="text-center mt-3">Volver a la página principal</p></a>


</form>

c++ – Compo hacer que se imprima solo un mismo numero por cada fila

espero me puedan ayudar con este codigo, la idea es que en cada fila se imprima solo el mismo numero n veces por ejemplo 1, 22,333,444 y asi, espero me puedan ayudar con esta modificación, estoy ocupando este codigo que hice la semana pasada y ahora quiero modificarlo para sacar las finas diferente modificarlo y no me hayo la verdad

<#include <iostream>

using namespace std ;

void caracter(int n , char simb)
{
    for ( int i = 0; i < n ; i++ )
        cout << simb ;
}

void ascendente(int n)
{
    for ( int i=1; i<= n ; i++ )
        cout << i ;
}

void descendente( int n )
{
    for(int i=n ; i>=1; i--)
        cout << i ;
}

void fila(int f , int nf )
{
    caracter(nf-f , ' ');
    ascendente(f);
    descendente(f-1);
    cout << endl ;
}


void triangulo (int nf)
{`introducir el código aquí`
    for(int f=1; f<=nf ; f++)
        fila(f , nf);

}

int main ()
{
    cout << "Ingrese numero de filas : " ;
    int n_filas ;
    cin >> n_filas ;
    if ( n_filas < 10 )
        triangulo( n_filas );
}

php7 – Es posible lograr la configuración de Laragon implementando Virtual Host y la ejecución de múltiples versiones de php al mismo tiempo?

Estoy usando la herramienta de desarrollo Laragon corre en Windows 10.
después de configurar los diferentes Virtual host para el desarrollo, he intentado configurar la version que cada uno requiere, el cual me funciona correctamente siempre y cuando NO se ejecuten simultáneamente, ya que el cambio entre versiones de php requiere detener los servicios y hacer un switch manual.

vhost1.me == 5.6.1
vhost2.me == 7.2
vhost3.me == 7.4
vhost4.me == 8.2

ignorando la opción que se puede cambiar con un clic. Necesito ver el mismo desarrollo con dos versiones de php ejecutándose al mismo tiempo desde entonces; En 5.6.1 tengo una api y en 7.2 y 7.4 un desarrollo que la consume y estoy migrando estas dos últimas a 8.0

Anteriormente he realizado la configuración del archivo httpd-vhosts.conf:

<Directorio "C:laragonmy_old_project1">
<FilesMatch ".php$">
Aplicación SetHandler/x-httpd-php56-cgi
</FilesMatch>
</Directorio>

<Directorio "C:laragonmy_old_project2">
<FilesMatch ".php$">
Aplicación SetHandler/x-httpd-php72-cgi
</FilesMatch>
</Directorio>

<Directorio "C:laragonmy_old_project3">
<FilesMatch ".php$">
Aplicación SetHandler/x-httpd-php74-cgi
</FilesMatch>
</Directorio>

<Directorio "C:laragonmy_old_project4">
<FilesMatch ".php$">
Aplicación SetHandler/x-httpd-php80-cgi
</FilesMatch>
</Directorio>

pero no puedo hacer que funcione … principalmente esto que no lo puedo encontrar en php.ini:

SetEnv PHPRC "rutaaxamppphp"

Entonces desconozco que otra configuración puedo agregar o me hace falta en el archivo de Virtual Host o php.ini?

nota:
no encontré nada relacionado a esta configuración dentro de la documentación del stack Laragon.
Asumo que si se utiliza apache o nginx, como parte del servicio web, debe tener un punto en comun de configuración.

sql – Se pueden utilizar 2 tipos de bases de datos diferentes en el mismo programa?

Quiero hacer un proyecto y he estado averiguando cual base de datos es mas conveniente, tengo entendido que para el login es mejor una base estructurada (sql) y para subidas de archivos es mejor no estructurada (no-sql). Mi pregunta es si puedo usar por ejemplo MySQL y MongoDB en un mismo programa. Disculpen mi ignorancia, soy un poco nuevo en esto 🙂

css – Duda con HTML. Etiquetas con mismo efecto en el usuario

estoy haciendo un curso de HTML y CSS, acompañandolo con el libro de Duckett (muy bueno por cierto). La cuestion es hay etiquetas que a priori parecieran tener el mismo efecto en el usuario por ejemplo <strong> y <b> ademas de <i> y <em>.

Estas son las que he encontrado, pero supongo que hay mas como estos casos. ¿Podría alguien aclararme la diferencia de estas en la practica?

Muchas gracias!

java – Como imprimir el listado de almacenes que venden el mismo producto, lo anterior para todos los productos almacenados

Tengo una matriz (cuadrada) en cada posición de la matriz se tiene que almacenar un objeto llamado PRODUCTO(se pueden repetir los productos en diferentes posiciones), este objeto tiene como atributos: código, nombre, precio y un vector de 3 posiciones en donde solo se puede almacenar en cada posición un objeto llamado almacén que tiene como atributos: NIT, razón social, dirección y teléfono.
¿Como hago para sacar los almacenes que venden el mismo producto enlistarlos e imprimirlos por pantalla sin que salgan algunos repetidos?
y ¿Como hago para que me muestre el nombre del producto que mas se vende en los almacenes?

Adjunto mi codigo con las clases y todo.

public class Productos {
    protected String codigo, nombre, precio;
    private Almacenes vectorAlmacenes();

    public Productos(String codigo, String nombre, String precio, Almacenes vectorAlmacenes()) {
        this.codigo = codigo;
        this.nombre = nombre;
        this.precio = precio;
        this.vectorAlmacenes = vectorAlmacenes;
    }

    public String getCodigo() {
        return codigo;
    }

    public String getNombre() {
        return nombre;
    }

    public String getPrecio() {
        return precio;
    }

    public Almacenes() getVectorAlmacenes() {
        return vectorAlmacenes;
    }
    


}

public class Almacenes {
    private String nit,razonSocial, direccion , telefono;
    

    public Almacenes(String nit, String razonSocial, String direccion, String telefono) {
        this.nit = nit;
        this.razonSocial = razonSocial;
        this.direccion = direccion;
        this.telefono = telefono;
    }

    public String getNit() {
        return nit;
    }

    public String getRazonSocial() {
        return razonSocial;
    }

    public String getDireccion() {
        return direccion;
    }

    public String getTelefono() {
        return telefono;
    }
    
    
}


public class MetodoProductos {
    private Productos matrizProductos()();
    private Productos Articulos();
    
    public MetodoProductos(){
         Productos matrizProductos()();
    }

    
    public void CrearMatrizProductos(){
        
        String Numero=JOptionPane.showInputDialog("Ingrese el numero de filas ");
        if (Integer.parseInt(Numero)% 2 == 0){

            matrizProductos = new Productos(Integer.parseInt(Numero))(Integer.parseInt(Numero));
            for (int i = 0; i < Integer.parseInt(Numero); i++) {
                for (int j = 0; j < Integer.parseInt(Numero); j++) {
                        matrizProductos(i)(j)= new Productos(
                        JOptionPane.showInputDialog("ingrese el codigo del producto" + "posicion " + i+","+j),
                        JOptionPane.showInputDialog("ingrese el nombre del producto " + "posicion " + i+","+j),
                        JOptionPane.showInputDialog("ingrese el precio del producto" + "posicion " + i +","+ j),
                        ingresarAlmacenes ()
                        );
                }
            }
        }
    }
    
    

    // ingresar los datos del almacen
    private Almacenes () ingresarAlmacenes (){
                      Almacenes vectorAlmacenes()= new Almacenes (3);
                  for (int i = 0; i < 3; i++) {
                      //ingrese el nit
                      //valido el nit
                    vectorAlmacenes(i)=new Almacenes(
                             validarAlmacen(vectorAlmacenes, i),
                             JOptionPane.showInputDialog("ingrese la Razon social e la empresa " + (i+1)),
                             JOptionPane.showInputDialog("ingrese la direccion e la empresa " + (i+1)),
                             JOptionPane.showInputDialog("ingrese el telefonoe la empresa " + (i+1))
                     );
        }               
        return vectorAlmacenes;
    }
    
    private String validarAlmacen(Almacenes vectorAlmacenes(), int i) {
        String nit = "";
        nit = JOptionPane.showInputDialog("ingrese el nit de la empresa "+ (i+1));
        for (int j =0; j < i; j++) {
            if (vectorAlmacenes(j).getNit().equals(nit)) {
                JOptionPane.showMessageDialog(null, "El NIT ingresado ya existe");
                return validarAlmacen(vectorAlmacenes, i);
            }

        }
        return nit;
    }
    
    
    private void listadoalmacenes(Almacenes() vectorAlmacenes()){
            
                /*int Listado = 0;
                for (Productos() travelmatriz : matrizProductos) {
                    
                    for(Almacenes() travel: vectorAlmacenes){
                        
                        for (int i = 0; i < vectorAlmacenes.length; i++) {
                            
                            if(vectorAlmacenes(i).equals())
                            
                        }*/
                
                for (int i = 0; i < matrizProductos.length; i++) {
                    for (int j = 0; j < matrizProductos.length; j++) {
                       
                        
                        
                    }
            
        }
                        
   
                }
                    
            
        }