я пытаюсь получить xpath этого, чтобы щелкнуть ссылку href
<a href = "/film/ah-fei-jing-juen/" class = "frame has-menu" data-original-title = "Days of Being Wild (1990)">
мой код до сих пор
driver.find_element(By.XPATH, "/html/body/div[2]/div/div/section/ul/li[1]/div/div/a").click
и я также пытался использовать элемент поиска по идентификатору. оцените любую помощь спасибо!
🤔 А знаете ли вы, что...
Python популярен в машинном обучении и искусственном интеллекте.
Используйте это выражение XPATH:
(//ul[contains(@class,'poster-list -p70 -grid film-list clear')]//following::span[@class='overlay'])[1]
Примечание. В приведенном выше выражении в конце [1]
указан первый фильм слева вверху. Если вы хотите найти второй фильм (элемент), просто измените его на [2]
и так далее.
Полный рабочий код:
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://letterboxd.com/a2vre/films/by/rated-date/")
wait = WebDriverWait(driver, 10)
element = wait.until(EC.element_to_be_clickable((By.XPATH, "(//ul[contains(@class,'poster-list -p70 -grid film-list clear')]//following::span[@class='overlay'])[1]"))).click()
Импорт:
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait