首页 > 解决方案 > 似乎无法访问 html 中的元素

问题描述

我已经尝试了 3 个多小时来让我的程序从网站Supremenewyork.com打开一个页面。

HTML 的行在这个这个图像中。

我想做的是通过输入颜色(在本例中为自然色)和产品名称(商店连帽运动衫)打开产品。

我试过了find_elements_by_namexpath但它们似乎不起作用,而且没有独一无二的课程。

这是我的代码:

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

drive = webdriver.Chrome(executable_path='../drivers/chromedriver')
drive.get('https://www.supremenewyork.com/shop/all')

search = drive.find_element_by_link_text("sweatshirts")
search.click()

标签: pythonseleniumselenium-webdriver

解决方案


这是一个单击运动衫标签的示例,然后获取要检查的值并等待页面加载。

driver.get('https://www.supremenewyork.com/shop/all')
search = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, "sweatshirts")))
search.click()
articles = WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "#container > li > div")))
for article in articles:
    name = article.find_element_by_css_selector("div.product-name > a")
    print(name.text)
    style = article.find_element_by_css_selector("div.product-style > a")
    print(style.text)
    #if name.text=='' and style.text=='':
        #name.click()

推荐阅读