Как выбрать опцию Книги из выпадающего списка в пределах https://www.amazon.in/, используя Selenium в Python? - PullRequest
0 голосов
/ 14 февраля 2019

Как выбрать дополнительные книги из выпадающего списка в https://www.amazon.in/ с помощью Selenium в Python?

Я пытаюсь использовать код:

driver.find_element_by_xpath("//*[@id='searchDropdownBox']").send_keys('Books')

enter image description here

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Раскрывающийся список для категорий находится внутри тега <select>, поэтому в идеале вам необходимо использовать select , вызывающий класс WebDriverWait для того, чтобы требуемый элемент был кликабельным, и вы можете использовать следующее решение:

  • Блок кода:

    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import Select
    
    options = webdriver.ChromeOptions()
    options.add_argument("start-maximized")
    options.add_argument("--disable-extensions")
    driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
    driver.get('https://www.amazon.in/')
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//span[@class='nav-search-label']")))
    mySelect = Select(driver.find_element_by_xpath("//select[@id='searchDropdownBox']"))
    mySelect.select_by_visible_text('Books')
    print((mySelect.first_selected_option).text)
    
  • Консольный вывод:

    Books
    
  • Снимок браузера:

amazon_books

0 голосов
/ 14 февраля 2019

Попробуйте это:

select = Select(driver.find_element_by_id('searchDropdownBox'))

# select by visible text
select.select_by_visible_text('Books')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...