【问题标题】:How to sort flipkart with selenium python如何使用 selenium python 对 Flipkart 进行排序
【发布时间】:2021-08-29 04:07:52
【问题描述】:

我想按受欢迎程度对 Flipkart 产品进行排序,但找不到方法

>span class="_2i7N3j">Sort By</span\
>span class="_2i7N3j">Relevance</span\
>span class="_2i7N3j">Popularity</span 

我要点击人气

所有选项都具有相同的类且没有 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()

【问题讨论】:

标签: python selenium web-scraping automated-tests


【解决方案1】:

你可以像这样点击它:

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()

类名以后很有可能会变,所以找文字会比较靠谱。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 2017-09-01
    • 2019-04-06
    • 2019-05-19
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多