Я пытаюсь смоделировать выбор нескольких опций в онлайн-инструменте данных, который заканчивается загрузкой таблицы Excel с учетом ваших фильтров.
В настоящее время я использую селен и идентифицирую xpaths.
Я могу пройти одну итерацию и получить один лист Excel, но мне нужно сделать это для каждой возможной перестановки раскрывающегося списка.выбор.Делать вручную нереально, так как есть тысячи вариантов.
Веб-сайт для контекста: https://data.cms.gov/mapping-medicare-disparities
Кто-нибудь знает о функции, которая может быть выполнена в селене, которыйбудет работать?
Моя текущая стратегия состоит в том, чтобы создавать списки с xpath, а затем пытаться выполнить функцию перестановки, чтобы получить все комбинации.Однако это не сработало, потому что функция: b.find_element_by_xpath разрешает только один xpath за раз.
примеры списков:
география округа штат / территория
G1 = '// select [@ id = "geography"] // option [@ value = "c"] 'G2 =' // select [@ id =" geography "] // option [@ value =" s "] '
Geo = [G1, G2]
создание пулакомбинаций
импорт itertools из itertools импорт продукта
для перми в продукте (Geo, Adjust, Analysis, Domain): печать (perm)
фактический код для использования селена1029 * **from** selenium **import** webdriver
**from** selenium.webdriver.common.keys **import** Keys
b = webdriver.Firefox()
код для щелчка по всплывающему
pop_up = b.find_element_by_xpath('/html/body/div[1]/button')
pop_up.click()
коду, пытающемуся использовать xpath для одновременного выбора всех параметров
b.find_element_by_xpath(('//select[@id="geography"]//option[@value="c"],
'//select[@id="adjust"]//option[@value="1"],'//select[@id="analysis"]
//option[@value="base"],'//select[@id="domain"]//option[@value="d1"]'))
сообщение об ошибке: InvalidArgumentException: Сообщение:недопустимый тип: sequence, ожидаемая строка в строке 1 столбца 28
Это потому, что find_element_by_xpath (я предполагаю) будет смотреть только на 1 xpath за раз.