Как смоделировать нажатие клавиши со стрелкой вниз, когда указанный элемент c присутствует в HTML с использованием Selenium и Python - PullRequest
0 голосов
/ 20 января 2020

Я хочу, чтобы python щелкнул по клавише на моей клавиатуре, например, клавише со стрелкой вниз, когда конкретное слово c, например, google, присутствует где-то в браузере или на панели поиска. Это возможно с селеном или модулем os. Есть предложения?

Ответы [ 2 ]

1 голос
/ 20 января 2020

Использование Selenium для нажатия клавиши Стрелка вниз при выполнении определенного условия c, как пример, который я продемонстрировал на следующих шагах:

  • Откройте URL-адрес https://www.google.com/
  • Подождите, пока элемент поиска на главной странице Google , т. Е. By.NAME, "q", будет доступен для нажатия.
  • Посылает последовательность символов селен .
  • Подождите, пока автоматически появятся подсказки.
  • Нажмите дважды на Стрелка Вниз клавиша.

    • Кодовый блок:

      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
      from selenium.webdriver.common.keys import Keys
      
      options = webdriver.ChromeOptions() 
      options.add_argument("start-maximized")
      options.add_experimental_option("excludeSwitches", ["enable-automation"])
      options.add_experimental_option('useAutomationExtension', False)
      driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
      driver.get('https://www.google.com/')
      WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.NAME, "q"))).send_keys("Selenium")
      WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "ul[role='listbox'] li")))
      driver.find_element_by_css_selector('body').send_keys(Keys.DOWN)
      driver.find_element_by_css_selector('body').send_keys(Keys.DOWN)
      
    • Снимок браузера:

Keys.DOWN

PS: Реализация вышеупомянутой логики c Вы также можете нажать Стрелка вверх , Стрелка влево и Стрелка вправо клавиши.

1 голос
/ 20 января 2020

вы можете найти элемент с помощью xpath, который ищет искомый текст, например, $x('//*[.="Text"]'), а затем использовать sendKey(), чтобы нажать клавишу

...