python - 无法选择 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 ..但我什至无法识别该死的东西。
解决方案
这将选择所有具有复合类图标 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
推荐阅读
- formula - catia 公式中的规则编辑器语法错误
- android - 如何从 Android Studio 中的本地库中排除依赖项
- android - 在“dl.bintray.com/mobisystech/maven”上出现禁止错误
- c - 请解释一下这段代码 if (input >= '0' && input <= '9')
- input - 如果猜测错误,将用户与频道断开连接 DiscordPy
- reactjs - 为什么在 setState 中获取时会进行两次网络调用?
- r - R 错误:等高线图仅适用于二维函数
- mysql - Sequelize - 是否可以限制联结表中的记录数
- design-patterns - 两个类之间的依赖
- javascript - 获取 JS 函数的时间和空间复杂度