iniciar sesión en el sitio web mediante solicitudes

He probado dos métodos completamente diferentes. Pero aún así no puedo obtener los datos que solo están presentes después de iniciar sesión.

Intenté hacer uno usando solicitudes, pero el xpath devuelve solicitudes de importación nulas de lxml import html

USERNAME = "xxx"
PASSWORD = "xxx"

LOGIN_URL = "http://www.reginaandrew.com/customer/account/loginPost/referer/aHR0cDovL3d3dy5yZWdpbmFhbmRyZXcuY29tLz9fX19TSUQ9VQ,,/"
URL = "http://www.reginaandrew.com/gold-leaf-glass-top-table"


def main():
FormKeyTxt = ""
session_requests = requests.session()

# Get login csrf token
result = session_requests.get(LOGIN_URL)
tree = html.fromstring(result.text)
# Create payload
formKey = str((tree.xpath("//*[ @ id = 'login-form'] / input / @ value")))
FormKeyTxt = "".join(formKey)
#print(FormKeyTxt.replace("['","").replace("']",""))

payload = {
    "login[username]": USERNAME,
    "login[password]": PASSWORD,
    "form_key": FormKeyTxt,
    "persistent_remember_me": "checked"

}

# Perform login
result = session_requests.post(LOGIN_URL, data=payload)

# Scrape url
result = session_requests.get(URL, data=payload)
tree = html.fromstring(result.content)
bucket_names = tree.xpath("//span[contains(@class, 'in-stock')]/text()")
print(bucket_names)
print(result)
print(result.status_code)


if __name__ == '__main__':
main()

He intentado con otra sopa mecánica, pero aún así devuelve un valor nulo

import argparse
import mechanicalsoup
import urllib.request
from bs4 import BeautifulSoup

parser = argparse.ArgumentParser(description='Login to GitHub.')
parser.add_argument("username")
parser.add_argument("password")
args = parser.parse_args()

browser = mechanicalsoup.Browser()

login_page = browser.get("http://www.reginaandrew.com/gold-leaf-glass-top-table")
login_form = login_page.soup.select("#login-form")[0]


login_form.input({"login[username]": args.username, "login[password]": args.password})


page2 = browser.submit(login_form,login_page.url )
messages = page2.soup.find(class_='in-stock1')
if messages:
    print(messages.text)

print(page2.soup.title.text)

Entiendo mejor la solución principal, así que me gustaría hacerlo usando eso, pero ¿me falta algo? (Estoy seguro de que me falta mucho)