如何用 selenium 对 flipkart 进行排序 python
How to sort flipkart with selenium python
我想按受欢迎程度对 flipkart 产品进行排序,但找不到方法
>span class="_2i7N3j">Sort By</span\
>span class="_2i7N3j">Relevance</span\
>span class="_2i7N3j">Popularity</span
我要点击人气
所有选项都有相同的 class 并且没有 id
我也试过 link_text 但它没有用
有人可以帮忙
这是我写的代码
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
product = input("Which product review you want: ").lower()
print(f"Best {product} in your range from famous website")
PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
try:
driver.get("https://www.flipkart.com/")
search = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.NAME,"q"))
)
search.send_keys(product)
search.send_keys(Keys.ENTER)
pop = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH("//div[contains(text(), 'Popularity')]")))
)
pop.click()
print(driver.current_url)
time.sleep(2)
finally:
time.sleep(2)
driver.quit()
您可以这样点击:
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.get(r"https://www.flipkart.com/search?q=laptop&otracker=search&otracker1=search&marketplace=FLIPKART&as-show=off&as=off")
time.sleep(3)
popularity_button = browser.find_element_by_xpath("//div[contains(text(), 'Popularity')]")
popularity_button.click()
class这个名字以后很可能会变,所以找正文会比较靠谱。
我想按受欢迎程度对 flipkart 产品进行排序,但找不到方法
>span class="_2i7N3j">Sort By</span\
>span class="_2i7N3j">Relevance</span\
>span class="_2i7N3j">Popularity</span
我要点击人气
所有选项都有相同的 class 并且没有 id 我也试过 link_text 但它没有用 有人可以帮忙
这是我写的代码
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
product = input("Which product review you want: ").lower()
print(f"Best {product} in your range from famous website")
PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
try:
driver.get("https://www.flipkart.com/")
search = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.NAME,"q"))
)
search.send_keys(product)
search.send_keys(Keys.ENTER)
pop = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH("//div[contains(text(), 'Popularity')]")))
)
pop.click()
print(driver.current_url)
time.sleep(2)
finally:
time.sleep(2)
driver.quit()
您可以这样点击:
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.get(r"https://www.flipkart.com/search?q=laptop&otracker=search&otracker1=search&marketplace=FLIPKART&as-show=off&as=off")
time.sleep(3)
popularity_button = browser.find_element_by_xpath("//div[contains(text(), 'Popularity')]")
popularity_button.click()
class这个名字以后很可能会变,所以找正文会比较靠谱。