I have just started learning Selenium and was playing around a bit trying to automate a search on the secondhand clothing website vinted.fr .
I was able to find all necessary Elements in the HTML code, except one:
-The Button to change the "sort by" functionality to "newest". ( This is a Screenshot of the Page including the Button I want to press )
Now I am wondering, what the Problem might be:
-Is it possible, that the button is not having a "button" tag in the HTML code. If yes how do I find and click this element?
-Am I just searching at wrong position?
Here is the HTML source code where I suggest the button element to be in:
To click on the element to set sort by functionality to newest you need to induce WebDriverWait for the element_to_be_clickable()
and you can use either of the following Locator Strategies :
Using CSS_SELECTOR
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "ul.pile li:nth-of-type(4) label"))).click()
Using XPATH
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//ul[@class='pile']//li[@class='pile__element'][last()]//label"))).click()
Note : You have to add the following imports:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.