""" Test complex dropdown interaction functionality. """ import pytest from browser_use.agent.service import Agent from browser_use.agent.views import AgentHistoryList @pytest.mark.asyncio async def test_dropdown_complex(llm, browser_context): """Test selecting an option from a complex dropdown menu.""" agent = Agent( task=( 'go to https://codepen.io/shyam-king/pen/pvzpByJ and first get all options for the dropdown and then select the json option' ), llm=llm, browser_context=browser_context, ) try: history: AgentHistoryList = await agent.run(20) result = history.final_result() # Verify dropdown interaction assert result is not None assert 'json' in result.lower(), "Expected 'json' option to be selected" # Verify dropdown state element = await browser_context.get_element_by_selector('.select-selected') assert element is not None, 'Custom dropdown element should exist' text = await element.text_content() assert 'json' in text.lower(), 'Dropdown should display json option' # Verify the selected option's effect code_element = await browser_context.get_element_by_selector('pre code') assert code_element is not None, 'Code element should be visible when JSON is selected' except Exception as e: pytest.fail(f'Complex dropdown test failed: {str(e)}') finally: await browser_context.close()