我想在Instagram中搜索一个特殊的关键字。例如,我想搜索这个词:“快餐”。我可以在搜索框中发送此密钥。但是,当我在Python中使用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
你可以帮帮我吗?
代替。 submit()试试'.send_keys(u'\ ue007')'
见:http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.keys
需要更多点击次数:
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')
这很有趣。另一种解决方案更好。非常重要的是要知道,你必须在Instagram搜索框上按2 Enter按。因此,为了消除while循环,您可以使用以下代码:search_button.send_keys(“#fast”)
time.sleep(5)
search_button.send_keys(u'\ue007')
search_button.send_keys(u'\ue007')