yandex / YandexDriver

YandexDriver is a WebDriver implementation
Other
69 stars 14 forks source link

browser restarts after clicking on settings button #10

Open x1nas opened 3 years ago

x1nas commented 3 years ago

browser restarts after clicking on settings button

browser build: 21.6.4.787 yandexdriver build: 21.6.0.620 win10

x1nas commented 3 years ago

Same problems with

browser build: 21.8.0.1373 yandexdriver build 21.8.0.1373 win10

nazarov-ae commented 2 years ago

Similar problem. The browser closes after clicking the settings button.

browser: 22.3.1.922 stable (64-bit) yandexdriver: 22.3.1.899 os: ubuntu 20.04

PetrovVadim commented 2 years ago

Could you please give me a code snippet for this case ?

nazarov-ae commented 2 years ago

Could you please give me a code snippet for this case ?

    binary_driver_file = './_bin/yandexdriver'
    options = webdriver.ChromeOptions()
    service = Service(binary_driver_file)
    driver = webdriver.Chrome(service=service, options=options)
    driver.get('https://yandex.ru')
    sleep(300)
x1nas commented 2 years ago

Could you please give me a code snippet for this case ?

Не нашел, как именно автоматизировать нажатие на кнопку настроек. Но если просто открыть браузер с помощью webdriver и нажать на кнопку настроек вручную - то окно закрывается, и возникает ошибка: "Произошла ошибка, Яндекс.Браузер не может продолжить работу. Перезапустить?" Нажатие на другие кнопки в браузере не приводит к такому поведению.

x1nas commented 2 years ago

https://user-images.githubusercontent.com/5956320/167246253-69befcda-6b40-4b52-8f41-f323e0074575.mp4

x1nas commented 2 years ago

Нашел от чего зависит: С опцией "ya.sync_state_view": {"show": False} - при нажатии на кнопку настроек не вылетает.

Яндекс.Браузер 22.3.3.855 YandexDriver 22.3.0-stable ОС: Win10

Python:

def run_browser():
    driver_path = 'C:/yandexdriver/yandexdriver.exe'
    browser_path = 'C:/Users/test/AppData/Local/Yandex/YandexBrowser/Application/browser.exe'
    options = webdriver.ChromeOptions()
    options.binary_location = browser_path
    prefs = {
        "ya.sync_state_view": {"show": False},
    }
    options.add_experimental_option("prefs", prefs)
    b = webdriver.Chrome(
        executable_path=driver_path,
        options=options,
    )
    return b

b = run_browser()