首页 > 解决方案 > 无法选择 CSS 选择器

问题描述

我遇到了一个问题,我无法选择正确的 CSS 选择器。我认为是网站本身造成了问题。任何想法为什么它没有正确选择?

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import requests, time


driver = webdriver.Firefox(executable_path="geckodriver")
driver.get("https://www.okcc.online/")
driver.maximize_window()
wait = WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable((By.XPATH, "//*[@id='rod-menu-button']"))).click()
wait.until(EC.element_to_be_clickable((By.XPATH, "//input[@id='rodDocTypeTxt']"))).send_keys('MTG')
wait.until(EC.element_to_be_clickable((By.XPATH, "//ul[@id='ui-id-1']//li//div"))).click()

driver.find_element_by_xpath('//*[@id="rod-date-toggle"]').click()

driver.find_element_by_xpath('//*[@id="rodFromDateTxt"]').send_keys('4/1/2020')
driver.find_element_by_xpath('//*[@id="rodToDateTxt"]').send_keys('4/20/2020')

search_button = driver.find_element_by_xpath('//*[@id="rod-submit-search"]').click()

time.sleep(2)

pdf = driver.find_elements_by_css_selector("icon pdf-icon")

print(len(pdf))

当我运行它时,它返回一个计数 0,如果我在这个站点上正确选择了 CSS,它应该返回一个计数 50。

最终,我想遍历所有这些项目,并下载返回的 pdf ..但我什至无法识别该死的东西。

标签: pythonseleniumselenium-webdriver

解决方案


这将选择所有具有复合类图标 pdf-icon 的元素

driver.find_elements_by_css_selector(".icon.pdf-icon")

这将选择所有带有复合类图标 pdf-icon 的 div 标签

driver.find_elements_by_css_selector("div.icon.pdf-icon")

有关 css 选择器的更多信息 https://www.w3schools.com/cssref/css_selectors.asp


推荐阅读