python - 无法使用 Selenium webdriver 选择并单击下拉搜索查询结果
问题描述
我试图从搜索框结果下拉列表中执行选择并单击操作以进行测试。虽然我没有收到 ant 错误,但我被卡住了,无法这样做,搜索结果来了,然后立即消失了。请任何人帮助我。我使用 Python 脚本来自动化 webdriver。这是下面的屏幕截图以供参考。 . 我已经尝试 webdriverwait 进行相同的操作,但它给出了超时异常错误。如果有任何来自 CSS 的子操作要执行,请告诉我。这是我尝试过的
search = driver.find_element_by_id('searchInput')
search.send_keys("flowers")
dropdown = WebDriverWait(driver, 4).until(
EC.presence_of_element_located((By.XPATH, "//li[text()='flowers']")))
除了这个片段,我只想执行回车键操作,我在这个 ecomm 上得到“花”的查询结果。网站。
这是网站网址 - https://paytmmall.com
解决方案
输入flower
后,将根据提供的输入显示input field
多个选项。他们在里面li tags
和下面b tag
。
代码 :
driver = webdriver.Chrome(driver_path)
driver.maximize_window()
#driver.implicitly_wait(30)
wait = WebDriverWait(driver, 30)
driver.get("https://paytmmall.com/")
search = wait.until(EC.visibility_of_element_located((By.ID, "searchInput")))
search.send_keys("flowers")
time.sleep(3)
wait.until(EC.visibility_of_element_located((By.XPATH, "(//li)[4]/descendant::b[contains(text(),'flowers')]"))).click()
time.sleep
只是为了可见性目的。你也可以删除它。
此xpath (//li)[4]/descendant::b[contains(text(),'flowers')]
也是基于xpath indexing,因为我认为您想选择第 4 个选项,即花本身。如果您想要select
不同的选项,则必须编写不同的xpath
.
如果您只想选择搜索的项目,最好在输入字段中输入花后通过输入键。
您可以为此使用以下代码:
search = wait.until(EC.visibility_of_element_located((By.ID, "searchInput")))
search.send_keys("flowers")
time.sleep(3)
search.send_keys(Keys.RETURN)
推荐阅读
- ms-word - 是否可以使用 Office.js 刷新 word 文档的字段?
- mysql - 事件 sql-script 中的 MySQL 语法错误。已使用分隔符
- outlook - Exchange 2016 / 非混合环境和 MS Graph
- modelica - Dymola 中的库启动脚本
- python - 如何在包含指数的集成正态分布中迭代 Gurobi 决策变量
- python - psycopg2.errors.SyntaxError:“C”或附近的语法错误
- vba - VBA PowerPoint - 仅针对特定幻灯片限制宏
- ffmpeg - ffmpeg 代码中是否存在缩短视频时间的因素?
- javascript - 'this' 在类方法中未定义 requestAnimationFrame
- javascript - 获取用户检查的最后一个复选框的 val()