selenium 查询状态码
时间: 2024-10-20 07:09:52 浏览: 25
在Selenium中,本身并没有直接提供查询HTTP状态码的功能,因为它是用于控制浏览器自动化的一个工具,主要用于模拟用户与网页交互的行为。然而,当你通过Selenium发送HTTP请求或访问网页时,实际上是在控制底层的网络驱动(比如ChromeDriver或FirefoxDriver),它们会在执行完请求后返回HTTP响应。
为了查看HTTP状态码,你应该结合其他库,如`requests`,来进行网络请求。下面是一个例子,演示如何在Selenium的基础上使用`requests`查询状态码:
首先,你可以使用Selenium启动浏览器并打开网页,获取页面内容后关闭浏览器,这时可以将网页内容传递给`requests.get`函数:
```python
from selenium import webdriver
import requests
# 启动浏览器
browser = webdriver.Chrome()
browser.get("http://example.com") # 替换为你想测试的URL
# 获取页面源代码
page_source = browser.page_source
# 关闭浏览器
browser.quit()
# 现在使用requests对这个源代码发送GET请求
response = requests.get(page_source)
# 查询状态码
status_code = response.status_code
print(f"HTTP Status Code: {status_code}")
```
在这个例子中,`response.status_code`就是你要查找的状态码。如果想确保Selenium始终与最新版本的网页内容同步,可以在请求之前等待页面加载完成,例如使用`WebDriverWait`配合`expected_conditions.presence_of_element_located`。
阅读全文