Is there a way to find\_all tags with a list of conditions at once?

For example, in this HTML I would like to extract `<p>` tags and `<div data-type="b">` tags.

**HTML**

```
<div>
    <h1>Chapter 1</h1>
        <p>aaa</p>
        <p>aaa</p>
        <p>aaa</p>
    <div>
        <h1>Section 1</h1>
        <p>bbb</p>
        <p>bbb</p>
        <p>bbb</p>
    </div>
    <div data-type="a">...</div>
    <div data-type="a">...</div>
    <div data-type="b">...</div>
    ...
</div>

```

**Desired output**

```
<p>aaa</p>
<p>aaa</p>
<p>aaa</p>
<p>bbb</p>
<p>bbb</p>
<p>bbb</p>
<div data-type="a">...</div>
<div data-type="a">...</div>

```

Of course I could do:

```
from bs4 import BeautifulSoup
soup = BeautifulSoup(html)
p_tags = soup.find_all('p')
div_tags = soup.find_all('div', {"data-type": "a"})

```

But I would like to do something like:

```
p_and_div_tags = soup.find_all(['p', 'div_tag_with_attribute'])

```

Is there a way to do it?

Thanks