Найти - Пользователи
Полная версия: Python + Selenium
Начало » Python для новичков » Python + Selenium
1
SomethingButNotNickName
Доброго времени суток.
Задача:
1) открыть браузер;
2) произвести поиск инфы;
3) все. Браузер должен остаться открытым.
Для примера наваял короткий код, все работает, но после выполнения основной части скрипт закрывает браузер. Есть ли способ отучить его это делать?

 from selenium.common.exceptions import NoSuchElementException
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
Request = 'python'
def check_exists_by_id(xpath, driver):
    try:
        driver.find_element_by_id(xpath)
    except NoSuchElementException:
        return False
    return True
def spawn_browser():
    driver = webdriver.Chrome()
    driver.get("https://www.google.ru")
    find_my_target(Request, driver)
def find_my_target(r, driver):
    while True:
        if check_exists_by_id('lst-ib', driver):
            driver.find_element_by_id("lst-ib").clear()
            driver.find_element_by_id("lst-ib").send_keys(r)
            driver.find_element_by_id("lst-ib").send_keys(Keys.ENTER)
            break
    print('нашел')
    
spawn_browser()

PS: более изящный способ дождаться выполения прогрузки страницы чем цикл While есть?
aiscy
 from selenium.webdriver import Chrome, ChromeOptions
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
REQUEST = 'python'
def spawn_browser():
    opts = ChromeOptions()
    opts.add_experimental_option('detach', True)
    driver = Chrome(options=opts)
    driver.get("https://www.google.ru")
    find_my_target(REQUEST, driver)
def find_my_target(r, driver):
    input_form = WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.CSS_SELECTOR, "input#lst-ib")))
    input_form.clear()
    input_form.send_keys(r)
    input_form.submit()
spawn_browser()
SomethingButNotNickName
aiscy
Спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB