【问题标题】:How to click on drop-down list by selenium package in python 2.7?如何在 python 2.7 中单击 selenium 包的下拉列表?
【发布时间】:2018-08-02 17:56:47
【问题描述】:

我想点击下拉列表。我有这个 x-path 的下拉列表:

//*[@id="resultsPerPage-button"]/span[1]

这个下拉列表有四个按钮,分别是 20,50,100,200。我想点击“200”。 “200”的X-path是:

//*[@id="ui-id-4"]

我使用了这个代码:

from selenium.webdriver.support.ui import Select
import time
number=driver.find_element_by_xpath("""//*[@id="resultsPerPage-button"]/span[2]""")
number.click()
number.send_keys()
var200=driver.find_element_by_xpath("""//*[@id="ui-id-4"]""")
var200.click()
time.sleep(5)
var200.send_keys("200")

但它会出现这样的错误:

selenium.common.exceptions.ElementNotInteractableException: Message: Element <span class="ui-selectmenu-text"> is not reachable by keyboard

我该怎么办? 实际上“200”按钮并没有被识别为按钮。

【问题讨论】:

  • 共享相同的 HTML 代码
  • 我的意思是整个下拉菜单
    • 20
    • 50
  • 100
  • 200

标签: python-2.7 selenium xpath drop-down-menu web-scraping


【解决方案1】:

我可以通过一些改变来解决我的问题:

from selenium.webdriver.support.ui import Select
    import time
    number=driver.find_element_by_xpath("""//*[@id="resultsPerPage-button"]/span[2]""")
    number.click()
    time.sleep(10)
    #number.send_keys()
    time.sleep(10)
    # find the "200" key and send key on it
    driver.find_element_by_xpath("""//*[@id="ui-id-4"]""").send_keys("200")
    #find the "200" key and click on it
    d=driver.find_element_by_xpath("""//*[@id="ui-id-4"]""").click()
    time.sleep(5)

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签