BasePage 类获取网页文本内容
时间: 2023-10-04 17:11:23 浏览: 131
以下是一个示例 BasePage 类获取网页文本内容的 Python 代码:
```
import requests
from bs4 import BeautifulSoup
class BasePage:
def __init__(self, url):
self.url = url
def get_page_text(self):
response = requests.get(self.url)
soup = BeautifulSoup(response.text, 'html.parser')
return soup.get_text()
```
在这个示例中,我们使用了 requests 库来获取网页内容,并使用了 BeautifulSoup 库来解析 HTML 内容。 `get_page_text` 方法返回了网页的纯文本内容。你可以通过实例化 BasePage 类并传入一个 URL,调用 `get_page_text` 方法来获取该 URL 对应页面的纯文本内容。
相关问题
basepage 获取text
如果你是指 Selenium WebDriver 中的 BasePage 类获取网页文本内容,可以使用以下代码实现:
```python
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class BasePage:
def __init__(self, driver):
self.driver = driver
def get_text(self, locator):
element = WebDriverWait(self.driver, 10).until(EC.visibility_of_element_located(locator))
return element.text
```
在上述代码中,我们通过传入一个 locator 参数,使用 WebDriverWait 等待页面元素出现,并使用 element.text 获取元素的文本内容,最后返回文本内容。
在调用该方法时,可以使用类似于下面的代码:
```python
from selenium import webdriver
from selenium.webdriver.common.by import By
from my_project.pages.base_page import BasePage
driver = webdriver.Chrome()
base_page = BasePage(driver)
locator = (By.CSS_SELECTOR, "div.my-element")
text = base_page.get_text(locator)
print(text)
```
上述代码中,我们首先实例化了 WebDriver,并创建了 BasePage 对象。然后,我们定义了一个 locator,它使用 CSS 选择器来定位一个名为 "my-element" 的 div 元素。最后,我们调用了 get_text 方法来获取该元素的文本内容,并将其打印到控制台上。
在Page文件夹中新建BasePage.py文件,用来存放封装好的浏览器驱动、访问地址、元素定位方法等;
示例代码如下:
```python
from selenium import webdriver
class BasePage:
def __init__(self, driver: webdriver.Chrome, url: str):
self.driver = driver
self.url = url
def open(self):
self.driver.get(self.url)
def find_element(self, locator):
return self.driver.find_element(*locator)
def find_elements(self, locator):
return self.driver.find_elements(*locator)
def click(self, locator):
self.find_element(locator).click()
def send_keys(self, locator, text):
self.find_element(locator).send_keys(text)
def clear(self, locator):
self.find_element(locator).clear()
def get_text(self, locator):
return self.find_element(locator).text
def get_current_url(self):
return self.driver.current_url
def get_window_handles(self):
return self.driver.window_handles
def switch_to_window(self, window):
self.driver.switch_to.window(window)
def switch_to_frame(self, locator):
self.driver.switch_to.frame(locator)
```
这里定义了一个名为BasePage的类,它包含了一些常用的浏览器操作方法,如打开网页、查找元素、点击元素、输入文本、清空输入框、获取文本内容、获取当前页面URL、获取窗口句柄、切换窗口、切换iframe等。这些方法可以被其他页面类继承和调用,方便代码的复用。其中,init方法接收两个参数,分别为浏览器驱动和网页地址。
阅读全文