#python #selenium
Вопрос:
вот код:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.options import DesiredCapabilities
PATH='C:Coding_projectschromedriver.exe'
options = Options()
driver=webdriver.Chrome(PATH,options=options)
def open_ouedkniss():
options.add_argument('headless')
driver.get("https://www.ouedkniss.com/")
ad_button=driver.find_element_by_id('header_interstitiel_exit')
ad_button.click()
search_bar=driver.find_element_by_id('menu_recherche_query')
search_bar.click()
search_bar.send_keys('golf 6')
search_bar.send_keys(Keys.RETURN)
open_ouedkniss()
когда я запускаю код, все работает нормально, но окно браузера по-прежнему открывается даже с опцией без головы, может кто-нибудь сказать мне, почему?
Ответ №1:
Попробуйте заменить эту строку в своем коде
options.add_argument('headless')
с
options.add_argument('--headless')
Также напишите выше строку после options = Options()
кода.
Ответ №2:
Судя по вашему вопросу, похоже, что вы пытаетесь найти определенный термин на веб-странице, используя опцию поиска. Я не думаю, что вам нужно использовать RETURN
клавишу для нажатия RETURN
, если вы не хотите специально протестировать эту функциональность.
Используя кандидата Selenium 4 RC-1 ( вы можете установить его с помощью pip install selenium==4.0.0.rc1
), я смог добиться этого с помощью этого фрагмента кода —
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
options = Options()
options.add_argument('--headless')
svc=Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=svc,options=options)
driver.set_window_size(1400,900)
driver.get("https://www.ouedkniss.com/")
wait = WebDriverWait(driver,30)
wait.until(EC.visibility_of_element_located((By.ID,'menu_recherche_query')))
search_bar = driver.find_element(By.ID,'menu_recherche_query')
search_bar.click()
search_bar.send_keys('golf 6')
search_button = driver.find_element(By.ID,'menu_recherche_submit')
search_button.click()
driver.save_screenshot('headfull.png')
driver.quit()