使用selemium编写爬虫代码,逐层定位包含空格的div class
时间: 2024-10-04 16:01:33 浏览: 28
使用Python编写爬虫的基本模块及框架使用指南
在使用Selenium编写Python爬虫时,如果你需要逐层定位包含空格的div class,你需要精确地构造XPath或CSS选择器。这里是一个例子,假设你要定位的div class名称中有一个空格,比如"my-class-with space":
```python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 创建一个新的WebDriver实例(例如Chrome或Firefox)
driver = webdriver.Chrome()
# 加载网页
url = "http://www.example.com"
driver.get(url)
# 设置等待时间,让Selenium有足够的时间加载DOM
wait = WebDriverWait(driver, 10)
# 定义XPath选择器,其中包含空格
xpath_selector = ".//div[contains(@class, 'my-class-with space')]"
# 使用try-except块,因为如果元素未找到,selenium会抛出异常
try:
# 等待元素显示并且可用
target_div = wait.until(EC.presence_of_element_located((By.XPATH, xpath_selector)))
print("Found div with class containing space:")
print(target_div.text) # 或者你可以根据需要提取其他属性
except NoSuchElementException:
print("Element not found.")
# 关闭浏览器
driver.quit()
```
在这个例子中,我们使用了`contains()`函数来匹配class属性值中含有特定字符串(包括空格)的`div`元素。
阅读全文