在 Flipkart 网站上 - https://www.flipkart.com/
我正在搜索栏中输入“笔记本电脑”
现在我想单击第五个建议,无论它是什么,在本例中它是笔记本电脑桌。
如何在打开控制台时找到它的 xpath(定位器) - 建议器会自动关闭?
由于您没有分享您的代码试验,也没有提到您使用哪种编程语言,我认为它是 PYTHON。
下面是适合您的 XPath 表达式:
//form[@method='GET']//ul//li[5]
注意:
[5]
- 指第五个下拉建议项
Python 中的工作代码:
import time
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
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.flipkart.com/")
wait = WebDriverWait(driver, 10)
# Below line will click on the inital login pop-up's X button
wait.until(EC.element_to_be_clickable((By.XPATH, "//span[@role='button']"))).click()
# Below line will enter 'laptop' in the desired text box
wait.until(EC.element_to_be_clickable((By.NAME, "q"))).send_keys("laptop")
# Below line will click the 5th dropdown suggestion item
wait.until(EC.element_to_be_clickable((By.XPATH, "//form[@method='GET']//ul//li[5]"))).click()
time.sleep(10)
如前所述,在探索 Flipkart 搜索栏时,您可能会发现建议自动关闭,这在使用 XPath 时构成了挑战。
这里有一个有用的提示:检查元素后,导航到事件侦听器。通过删除与“”事件关联的任何操作,您可以保持建议的可见性。这种方法简化了检查过程,并允许导出 XPath 表达式以进行进一步分析。
这是我为实现此目标而实现的 Python 代码:
import time
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
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.flipkart.com/")
wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((By.XPATH, "//span[@role='button']"))).click() # This is to close the intial pop up
wait.until(EC.presence_of_element_located((By.XPATH,"//input[@class='Pke_EE']"))).send_keys("laptop")
wait.until(EC.presence_of_element_located((By.XPATH, "//ul[@class='_1sFryS _2x2Mmc _3ofZy1']//li[5]"))).click()
time.sleep(10)
如果您希望执行实际测试,我已经使用 Test Assist(一个无代码 Selenium 编辑器)创建了一个测试用例。我邀请您点击以下链接来查看并执行测试用例。