如何使用Selenium和Python从下拉菜单中选择一个选项

真神魔术师

我正在尝试使用Python中的Selenium来获取Metro-North地铁站的所有组合的票价。我想转到他们的票价页面,将车站名称放入选择字段,单击票价按钮,然后将所需的值复制到数据框。

我尝试了所有可能的选项,从下拉菜单中选择电台,但是当收到错误消息时,任何方法都无效ElementNotInteractableException

我试过的代码:

driver = webdriver.Safari()
driver.get('http://as0.mta.info/mnr/schedules/sched_form.cfm')

select = Select(driver.find_element_by_id('Vorig_station'))
print([o.text for o in select.options])
time.sleep(3)
select.select_by_visible_text('ANSONIA')
element = driver.find_element_by_xpath('//*[@id="frmindex"]/table[2]/tbody/tr[6]/td/input[2]')
element.click()
driver.close()

打印命令显示了这些选项,但我无法选择并进入下一个票价页面。

请帮忙!

DebanjanB

要获得票价使用地铁北站的所有组合选择选项安索尼亚从游戏主板 ,你需要引起WebDriverWaitelement_to_be_clickable(),你可以使用下面的定位策略

  • 使用CSS_SELECTOR

    driver.get("http://as0.mta.info/mnr/schedules/sched_form.cfm")
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "select#Vorig_station"))).click()
    select = Select(WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "select#Vorig_station"))))
    print([o.text for o in select.options])
    select.select_by_visible_text('ANSONIA')
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[value='fares']"))).click()
    
  • 使用XPATH

    driver.get("http://as0.mta.info/mnr/schedules/sched_form.cfm")
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//select[@id='Vorig_station']"))).click()
    select = Select(WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//select[@id='Vorig_station']"))))
    print([o.text for o in select.options])
    select.select_by_visible_text('ANSONIA')
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//input[@value='fares']"))).click()
    
  • 控制台输出:

    ['ANSONIA', 'APPALACHIAN TRAIL', 'ARDSLEY-ON-HUDSON', 'BEACON', 'BEACON FALLS', 'BEDFORD HILLS', 'BETHEL', 'BOTANICAL GARDEN', 'BRANCHVILLE', 'BREAKNECK RIDGE', 'BREWSTER', 'BRIDGEPORT', 'BRONXVILLE', 'CANNONDALE', 'CHAPPAQUA', 'COLD SPRING', 'CORTLANDT', 'COS COB', 'CRESTWOOD', 'CROTON FALLS', 'CROTON-HARMON', 'DANBURY', 'DARIEN', 'DERBY', 'DOBBS FERRY', 'DOVER PLAINS', 'EAST NORWALK', 'FAIRFIELD', 'FAIRFIELD METRO', 'FLEETWOOD', 'FORDHAM', 'GARRISON', 'GLENBROOK', 'GLENWOOD', 'GOLDENS BRIDGE', 'GRAND CENTRAL', "GREEN'S FARMS", 'GREENWICH', 'GREYSTONE', 'HARLEM - 125TH ST.', 'HARLEM VALLEY-WINGDALE', 'HARRISON', 'HARTSDALE', 'HASTINGS-ON-HUDSON', 'HAWTHORNE', 'IRVINGTON', 'KATONAH', 'LARCHMONT', 'LUDLOW', 'MAMARONECK', 'MANITOU', 'MARBLE HILL', 'MEADOWLANDS SPORTS COMPLEX', 'MELROSE', 'MERRITT 7', 'MILFORD', 'MORRIS HEIGHTS', 'MOUNT KISCO', 'MOUNT PLEASANT', 'MT VERNON EAST ', 'MT VERNON WEST', 'NAUGATUCK', 'NEW CANAAN', 'NEW HAMBURG', 'NEW HAVEN', 'NEW ROCHELLE', 'NH-STATE ST.', 'NOROTON HEIGHTS', 'NORTH WHITE PLAINS', 'OLD GREENWICH', 'OSSINING', 'PATTERSON', 'PAWLING', 'PEEKSKILL', 'PELHAM', 'PHILIPSE MANOR', 'PLEASANTVILLE', 'PORT CHESTER', 'POUGHKEEPSIE', "PURDY'S", 'REDDING', 'RIVERDALE', 'RIVERSIDE', 'ROWAYTON', 'RYE', 'SCARBOROUGH', 'SCARSDALE', 'SEYMOUR', 'SOUTH NORWALK', 'SOUTHEAST', 'SOUTHPORT', 'SPRINGDALE', 'SPUYTEN DUYVIL', 'STAMFORD', 'STRATFORD', 'TALMADGE HILL', 'TARRYTOWN', 'TENMILE RIVER', 'TREMONT', 'TUCKAHOE', 'UNIVERSITY HEIGHTS', 'VALHALLA', 'WAKEFIELD', 'WASSAIC', 'WATERBURY', 'WEST HAVEN', 'WESTPORT', 'WHITE PLAINS', 'WILLIAMS BRIDGE', 'WILTON', 'WOODLAWN', 'YANKEES-E153 ST.', 'YONKERS']
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.support.ui import Select
    
  • 浏览器快照:

train_fares

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Selenium和python从下拉菜单中选择一个选项

来自分类Dev

使用selenium和python从下拉菜单中选择一个选项

来自分类Dev

无法从下拉菜单Python Selenium中选择一个选项

来自分类Dev

当下拉菜单具有相同的ID时,如何从下拉菜单中选择一个选项

来自分类常见问题

如何从下拉菜单中选择一个选项

来自分类Dev

如何使用Selenium和Python通过部分文本从下拉菜单中选择选项

来自分类Dev

检查用户是否从下拉菜单中选择一个选项

来自分类Dev

当用户从下拉菜单中选择一个选项时,如何更新任何归档的文本?

来自分类Dev

使用Selenium Python从下拉选项中选择一个值

来自分类Dev

如何强制用户从下拉菜单和按钮中选择一个值以启用保存按钮?

来自分类Dev

使用python硒从Google表单下拉菜单中选择一个选项

来自分类Dev

Geb:如何从下拉菜单中选择一个值?

来自分类Dev

如何使用Php Mysql中的while循环从下拉菜单中选择一个项目

来自分类Dev

Python - 从下拉菜单中选择选项

来自分类Dev

无法从下拉菜单中选择一个选项,因为我有2个下拉菜单,且具有相同的'<select class =

来自分类Dev

Javascript:发现从下拉菜单中选择一个选项后会触发什么功能

来自分类Dev

在 Shiny 中选择一个选项后,如何关闭汉堡菜单的下拉菜单

来自分类Dev

通过从下拉菜单中选择,启用另一个下拉菜单

来自分类Dev

使用 Autohotkey 从网页的下拉菜单中选择一个选项

来自分类Dev

如何使用 selenium python 选择下一个下拉菜单

来自分类Dev

从下拉菜单jquery中选择一个表单

来自分类Dev

通过Javascript从下拉菜单中选择一个值[Google帐户创建页面]

来自分类Dev

如何通过 selenium webdriver 和 java 从下拉列表中选择一个项目

来自分类Dev

使用Java的Selenium Webdriver:如何从下拉选择选项菜单中选择随机的出生月份和随机的国家

来自分类Dev

如何使用javaScript从其他下拉菜单中选择一个下拉菜单项?

来自分类Dev

如何使用Selenium从下拉列表中选择一个值?

来自分类Dev

无法在python中使用Selenium从下拉列表中选择一个值

来自分类Dev

从React.js的另一个下拉菜单中选择一个选项时如何重置下拉菜单值

来自分类Dev

如何从python下拉菜单中选择一个值

Related 相关文章

  1. 1

    使用Selenium和python从下拉菜单中选择一个选项

  2. 2

    使用selenium和python从下拉菜单中选择一个选项

  3. 3

    无法从下拉菜单Python Selenium中选择一个选项

  4. 4

    当下拉菜单具有相同的ID时,如何从下拉菜单中选择一个选项

  5. 5

    如何从下拉菜单中选择一个选项

  6. 6

    如何使用Selenium和Python通过部分文本从下拉菜单中选择选项

  7. 7

    检查用户是否从下拉菜单中选择一个选项

  8. 8

    当用户从下拉菜单中选择一个选项时,如何更新任何归档的文本?

  9. 9

    使用Selenium Python从下拉选项中选择一个值

  10. 10

    如何强制用户从下拉菜单和按钮中选择一个值以启用保存按钮?

  11. 11

    使用python硒从Google表单下拉菜单中选择一个选项

  12. 12

    Geb:如何从下拉菜单中选择一个值?

  13. 13

    如何使用Php Mysql中的while循环从下拉菜单中选择一个项目

  14. 14

    Python - 从下拉菜单中选择选项

  15. 15

    无法从下拉菜单中选择一个选项,因为我有2个下拉菜单,且具有相同的'<select class =

  16. 16

    Javascript:发现从下拉菜单中选择一个选项后会触发什么功能

  17. 17

    在 Shiny 中选择一个选项后,如何关闭汉堡菜单的下拉菜单

  18. 18

    通过从下拉菜单中选择,启用另一个下拉菜单

  19. 19

    使用 Autohotkey 从网页的下拉菜单中选择一个选项

  20. 20

    如何使用 selenium python 选择下一个下拉菜单

  21. 21

    从下拉菜单jquery中选择一个表单

  22. 22

    通过Javascript从下拉菜单中选择一个值[Google帐户创建页面]

  23. 23

    如何通过 selenium webdriver 和 java 从下拉列表中选择一个项目

  24. 24

    使用Java的Selenium Webdriver:如何从下拉选择选项菜单中选择随机的出生月份和随机的国家

  25. 25

    如何使用javaScript从其他下拉菜单中选择一个下拉菜单项?

  26. 26

    如何使用Selenium从下拉列表中选择一个值?

  27. 27

    无法在python中使用Selenium从下拉列表中选择一个值

  28. 28

    从React.js的另一个下拉菜单中选择一个选项时如何重置下拉菜单值

  29. 29

    如何从python下拉菜单中选择一个值

热门标签

归档