代码之家  ›  专栏  ›  技术社区  ›  Hamed Baziyad sagar pagare

如何在selenium python中按enter键?

  •  3
  • Hamed Baziyad sagar pagare  · 技术社区  · 6 年前

    我想在Instagram中搜索一个特殊的关键字。例如,我想搜索这个词:“快餐”。我可以在搜索框中发送此密钥。但是,当我使用Python3在Selenium中使用submit方法时,它不起作用,并且给我带来了错误。这是我的代码:

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.common.alert import Alert
    from selenium.webdriver.support.ui import WebDriverWait as wait
    from selenium.webdriver.support import expected_conditions as EC
    import time
    driver = webdriver.Firefox()
    url="https://www.instagram.com/p/pTPI-kyX7g/?tagged=resurant"
    driver.get(url)
    
    #login_button=driver.find_element_by_xpath("""/html/body/span/section/main/article/div[2]/div[2]/p/a""")
    #login_button.click()
    import time
    driver.implicitly_wait(5)
    search_button=driver.find_element_by_xpath("""/html/body/span/section/nav/div[2]/div/div/div[2]/input""")
    search_button.send_keys("fast food")
    search_button.submit()
    

    这是给定的错误:

    selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: ./ancestor-or-self::form
    

    你能帮我吗?

    3 回复  |  直到 6 年前
        1
  •  5
  •   Frank    6 年前

    而不是提交()尝试'。发送\u密钥(u“\ue007”)'

    请参见: http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.keys

        2
  •  1
  •   Hamed Baziyad sagar pagare    6 年前

    需要更多点击:

    search_button=driver.find_element_by_xpath("""/html/body/span/section/nav/div[2]/div/div/div[2]/input""")
    
        search_button.send_keys("fast")
        while True:
            search_button.send_keys(u'\ue007')
    
        3
  •  0
  •   Hamed Baziyad sagar pagare    6 年前

    这很有趣。另一种解决方案更好。要知道这一点非常重要,您必须在Instagram搜索框中按2回车键。因此,为了消除while循环,可以使用以下代码: search\u按钮。send\u键(“\fast”)

    time.sleep(5)
    search_button.send_keys(u'\ue007')
    search_button.send_keys(u'\ue007')