gpt4 book ai didi

python - 搜索框已填满时,搜索按钮不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 14:03:29 24 4
gpt4 key购买 nike

我用 python 用 selenium 编写了一个抓取工具,用于在搜索框中输入地址并按下搜索按钮。当我运行抓取工具时,看起来它会填写地址,但是当它按下搜索按钮填充结果时,网站会显示请先输入地址。我哪里错了?搜索地址嵌入.send_keys()中进行测试。预先感谢您的帮助。

站点地址:website

这是我的尝试:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10)
driver.get("replace with above address")

wait.until(EC.presence_of_element_located((By.ID, "autocomplete"))).send_keys("5068 SW 141st Ave, Miramar, FL 33027")
wait.until(EC.presence_of_element_located((By.ID, "map-search"))).click()
driver.quit()

顺便说一句,没有 iframe 存在,所以我认为它会这么简单,但结果恰恰相反。

最佳答案

尝试按如下方式更新您的脚本:

wait.until(EC.presence_of_element_located((By.ID, "autocomplete"))).send_keys("5068 SW 141st Ave, Miramar, FL 33027")
wait.until(EC.element_to_be_clickable((By.CLASS_NAME, "pac-item"))).click()
wait.until(EC.presence_of_element_located((By.ID, "map-search"))).click()

这应该允许您在搜索结果之前确认您的选择(您想要使用的地址)

更新

如果第一个建议不起作用,请尝试下面的一个

input_address = wait.until(EC.presence_of_element_located((By.ID, "autocomplete")))
input_address.send_keys("5068 SW 141st Ave, Miramar, FL 33027")
suggestion = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, "pac-item")))
input_address.send_keys(Keys.DOWN)
suggestion.click()
input_address.send_keys(Keys.RETURN)

关于python - 搜索框已填满时,搜索按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49088524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com