Ответы пользователя по тегу Selenium
  • Как сделать выбор пункта меню через selenium python?

    gnifajio
    @gnifajio
    Совершенствуюсь каждый день
    Чтобы выбрать второй пункт меню, можно использовать метод find_elements для поиска всех элементов с классом rowmenu, затем обратиться к нужному элементу по индексу и кликнуть на него. Например, таким образом можно выбрать второй пункт меню:

    # Найти все элементы с классом 'rowmenu'
    menu_items = browser.find_elements(By.CLASS_NAME, 'rowmenu')
    
    # Кликнуть на второй элемент
    menu_items[1].click()


    В этом примере мы находим все элементы с классом rowmenu с помощью метода find_elements, затем обращаемся ко второму элементу списка (menu_items[1]) и кликаем на него с помощью метода click().
    Ответ написан
    Комментировать
  • Как решить ошибку при подключение хром аккаунта?

    gnifajio
    @gnifajio
    Совершенствуюсь каждый день
    К сожалению, без более подробной информации о том, что происходит после входа в аккаунт, сложно точно определить, что вызывает ошибку. Однако, возможно, это связано с тем, что вы пытаетесь использовать уже существующий профиль браузера, который может содержать старые данные, настройки и файлы cookie, которые могут помешать выполнению вашего скрипта.

    Рекомендуется использовать новый профиль для автоматизации действий в браузере, для этого можно воспользоваться опцией --user-data-dir. В вашем коде она уже есть, но укажите путь к пустой директории, которую вы создадите специально для скрипта.

    Например:

    options.add_argument(r"user-data-dir=C:\Users\HOME\AppData\Local\Google\Chrome\New User Data")

    Кроме того, обратите внимание на версии chromedriver и Google Chrome. Убедитесь, что они совместимы между собой. Если версии не совпадают, это может привести к ошибкам.
    Ответ написан
    Комментировать
  • Как в selenium запустить несколько профилей Chrome одновременно?

    gnifajio
    @gnifajio
    Совершенствуюсь каждый день
    Для запуска двух профилей Chrome нужно использовать опцию --user-data-dir.
    • Установите библиотеку selenium с помощью команды pip install selenium
    • Импортируйте необходимые модули:


    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options

    • Создайте экземпляр класса Options и установите опцию --user-data-dir:

    chrome_options = Options()
    chrome_options.add_argument("--user-data-dir=path/to/user/data/dir")

    • Инициализируйте драйвер Chrome с использованием экземпляра chrome_options:


    driver = webdriver.Chrome(chrome_options=chrome_options)

    • Используйте драйвер для выполнения нужных действий.


    Чтобы запустить два профиля Chrome, вы можете повторить эти шаги для каждого из них, указав разные пути к папкам с пользовательскими данными.

    Например, код для запуска двух профилей Chrome может выглядеть так:
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    # Настройка первого профиля Chrome
    chrome_options_1 = Options()
    chrome_options_1.add_argument("--user-data-dir=path/to/user/data/dir/1")
    driver_1 = webdriver.Chrome(chrome_options=chrome_options_1)
    
    # Настройка второго профиля Chrome
    chrome_options_2 = Options()
    chrome_options_2.add_argument("--user-data-dir=path/to/user/data/dir/2")
    driver_2 = webdriver.Chrome(chrome_options=chrome_options_2)
    
    # Использование первого профиля Chrome
    driver_1.get("http://www.example.com")
    # Использование второго профиля Chrome
    driver_2.get("http://www.example.com")
    
    # Закрытие браузера первого профиля
    driver_1.quit()
    # Закрытие браузера второго профиля
    driver_2.quit()
    Ответ написан
    Комментировать
  • Как получить все кнопки с div и прогнать из через for?

    gnifajio
    @gnifajio
    Совершенствуюсь каждый день
    Чтобы нажать все кнопки внутри div с помощью Selenium, вы можете воспользоваться следующим кодом:

    from selenium import webdriver
    
    # Инициализируем веб-драйвер
    driver = webdriver.Firefox()
    
    # Открываем нужную страницу
    driver.get('https://example.com')
    
    # Находим все кнопки внутри div
    buttons = driver.find_elements_by_css_selector('div.js-tpl-tasks-list button')
    
    # Перебираем все кнопки и нажимаем на каждую
    for button in buttons:
        button.click()
    
    # Закрываем веб-драйвер
    driver.quit()
    Ответ написан
    Комментировать
  • Как вставить текст в html тег textarea Selenium?

    gnifajio
    @gnifajio
    Совершенствуюсь каждый день
    Вы можете использовать метод send_keys для элемента textarea в Selenium для вставки текста. Например:
    from selenium import webdriver
    
    # Инициализируем браузер
    driver = webdriver.Chrome()
    
    # Переходим на нужную страницу
    driver.get('https://example.com')
    
    # Находим элемент textarea на странице
    textarea = driver.find_element_by_css_selector('textarea')
    
    # Вставляем текст в textarea
    textarea.send_keys('Ваш текст')
    
    # Можете также использовать метод clear, чтобы удалить все содержимое textarea перед вставкой текста
    textarea.clear()
    textarea.send_keys('Новый текст')

    Обратите внимание, что вам нужно будет импортировать модуль webdriver из библиотеки Selenium и указать путь к драйверу браузера (например, ChromeDriver или GeckoDriver). Также убедитесь, что у вас установлен необходимый браузер (например, Google Chrome).
    Ответ написан
    2 комментария