【发布时间】:2021-01-04 22:54:00
【问题描述】:
我正在尝试使用 selenium 在 https://catalog.swarthmore.edu/ 上搜索课程并抓取结果。我尝试使用的所有选择器都失败了,当我将它们打印出来时,它们返回空数组。为什么这些选择器会失败,正确的选择器是什么?我通过悬停并单击带有 chrome SelectorGadget 扩展名的搜索字段获得“#keyword”和“span input”,并从使用 Chrome Devtools 检查 HTML。
#import scrapy
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
import json
browserOptions = Options()
browserOptions.add_argument('--headless')
driver = webdriver.Chrome('C:/WebDriver/bin/chromedriver.exe', options=browserOptions)
def css(selector):
return driver.find_elements_by_id(selector)
driver.get("https://catalog.swarthmore.edu/")
print(driver.title)
search = css("span.show.clearfix input")#css("#keyword")#get search field
print(search)
print(css("span input"))
print(css(".show.clearfix input"))
print(css("#keyword"))
search.send_keys("ANCH 028")#enter your search.
search.submit()
search.clear()#clear search field
driver.quit()
错误信息: 回溯(最近一次通话最后): 文件“getDescWJSON.py”,第 31 行,在 search.send_keys("ANCH 028")#输入你的搜索。 AttributeError: 'list' 对象没有属性 'send_keys'
【问题讨论】:
-
您好,请问是什么问题?
标签: python html css selenium selenium-webdriver