【发布时间】:2017-04-05 17:56:25
【问题描述】:
假设我有一个术语列表:
a_lis = ['cat', 'dog', 'fish', 'worm', ..., 'ferret']
另外,我有一个带有搜索框的网站:
如何将a_lis 的每个元素传递并搜索到搜索框中?看了docs之后我试了一下:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
for e in a_lis:
driver.get("https:www.example.com")
inputElement = driver.find_element_by_id("searchbox")
inputElement.send_keys(e)
inputElement.send_keys(Keys.ENTER)
driver.back()
但是,它不起作用。因为它只是将a_lis 的所有字符串元素一一传递,而不进行任何搜索。因此,如何将每个元素一一传递,然后将其搜索到搜索框中?换句话说,我的主要目标是将 a_lis 中的每个字符串单独搜索到搜索框中。
更新
我尝试在 for 循环中做:
driver.execute_script("window.history.go(-1)")
然而,它没有工作。
【问题讨论】:
-
您的意思是要它单独搜索
a_lis中的每个字符串? -
只需将
driver.get("https:www.example.com")放在循环的开头即可。 -
那么它输入一个字符串并正确输入了吗?我的意思是,回车键是否点击了搜索按钮并执行了它应该执行的操作?
-
不,它是一次输入所有字符串,这是错误的。它也没有返回以搜索列表中的下一个词@JayeshDoolani
-
啊,我明白了。所以回车键没有按下搜索按钮,因此它继续循环并输入下一个要输入的字符串。不要发送
Keys.ENTER,而是手动点击搜索按钮
标签: python python-3.x selenium selenium-webdriver selenium-chromedriver