使用selenium Python创建两个下拉菜单

2024-05-14 13:39:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从某种嵌套的下拉菜单中提取所有数据(使用Python和Selenium),但到目前为止,我只打印出了第一个下拉菜单的值

该网站是土耳其语的,但基本上我的目标是打印所有城市的名称(第一个下拉列表)、这些城市内的城镇(第二个下拉列表),以及最终生成的表格中的所有地址。出于某种原因,我可以对第一个下拉列表进行操作,但第二个下拉列表给了我一个空结果。以下是我的代码供参考:

url = ('https://camiler.diyanet.gov.tr/')
browser.get(url)
city=browser.find_elements_by_id("ctl00_ctl35_g_7c8222a9_e27f_4831_b393_65197bc417d3_drpIl")
town=browser.find_elements_by_id("ctl00_ctl35_g_7c8222a9_e27f_4831_b393_65197bc417d3_drpIlce")
# city.select_by_index(81)
for c in city :
    for t in town :
        print(c.text)
        print(t.text)

Tags: browseridurlcity列表forbyelements
1条回答
网友
1楼 · 发布于 2024-05-14 13:39:48

第二个下拉列表似乎是在从第一个条目中选择一个条目后填充的

您可以在第一个下拉列表的代码中看到这种行为,如下所示:

<select name="ctl00$ctl35$g_7c8222a9_e27f_4831_b393_65197bc417d3$drpIl" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ctl35$g_7c8222a9_e27f_4831_b393_65197bc417d3$drpIl\',\'\')', 0)" id="ctl00_ctl35_g_7c8222a9_e27f_4831_b393_65197bc417d3_drpIl" class="form-control">
                    <option value="Seçiniz">Seçiniz</option>
                    ....

因此,如果您想使用selenium,我认为您需要模拟鼠标移动并单击不同的条目

有关鼠标操作的更多信息,请查看the doc

相关问题 更多 >

    热门问题