I'm not very familiar with all options of Beautiful soup in particular, but most likely that assumes there is a href in the link you are about to click, so this will not work. The page seems to be a SPA, maybe this next button is implemented with some java script (event listener for example) that requests data and updates the page.
It seems like most of the data is loaded in via API call to https://www.booli.se/graphql. Right click the page, click inspect, then see the network tab and click your next button. A request with parameters such as below is send in the request body:
{
"operationName": "searchForSale",
"variables": {
"input": {
"page": 2,
"filters": [
{
"key": "objectType",
"value": "Lägenhet,Parhus,Radhus,Kedjehus"
},
{
"key": "rooms",
"value": "3,2,4"
},
{
"key": "minLivingArea",
"value": "60"
}
},
"query": "query searchForSale($input: SearchRequest) {\n search: searchForSale(input: $input) {\n pages\n totalCount\n result {\n __typename\n ... on Listing {\n booliId\n blockedImages\n descriptiveAreaName\n livingArea {\n formatted\n __typename\n }\n listPrice {\n formatted\n raw\n __typename\n }\n listSqmPrice {\n formatted\n __typename\n }\n latitude\n longitude\n daysActive\n primaryImage {\n id\n __typename\n }\n objectType\n rent {\n formatted\n raw\n __typename\n }\n operatingCost {\n raw\n __typename\n }\n estimate {\n price {\n raw\n formatted\n __typename\n }\n __typename\n }\n rooms {\n formatted\n __typename\n }\n streetAddress\n url\n isNewConstruction\n biddingOpen\n upcomingSale\n mortgageDeed\n tenureForm\n plotArea {\n formatted\n __typename\n }\n patio\n hasFireplace\n __typename\n }\n ... on Project {\n booliId\n name\n url\n booliUrl\n numberOfListingsForSale\n location {\n namedAreas\n __typename\n }\n developer {\n name\n id\n __typename\n }\n image {\n id\n __typename\n }\n latestPriceChange\n latitude\n longitude\n created\n roomsList\n livingAreaRange\n listPriceRange\n lowestProjectListPrice\n __typename\n }\n }\n __typename\n }\n}\n"
}
Instead of trying to go to the next page, you could send this request directly and use the response data, adapting the variables in your request to your needs. So if needed you can increase the page here (or possible even get all data without needing to click through pages).
Edit:
The API for me doesn't require any form of authentication, I send a POST request with body to https://www.booli.se/graphql, here is an example in postman:
