Python-从Selenium中的列表中选择项
首先,我想为这个令人困惑的标题道歉 为了提供一个描述,我有一个列表列表,每个列表都包含唯一的值。我想运行selenium,点击右列表并点击右链接。假设我的列表如下所示:Python-从Selenium中的列表中选择项,python,list,selenium,Python,List,Selenium,首先,我想为这个令人困惑的标题道歉 为了提供一个描述,我有一个列表列表,每个列表都包含唯一的值。我想运行selenium,点击右列表并点击右链接。假设我的列表如下所示: Africa - South Africa - Uganda - etc Asia - China - India - etc South America - Brazil - Argentina - etc 我想写一个交互代码,用户可以与之交互,这样就可以提供一个可供选择的大陆列表,并根据
Africa
- South Africa
- Uganda
- etc
Asia
- China
- India
- etc
South America
- Brazil
- Argentina
- etc
我想写一个交互代码,用户可以与之交互,这样就可以提供一个可供选择的大陆列表,并根据选择提供有条件的国家列表。假设这是我代码的第一部分:
geographic_area = input('\n\n\Select a geographic area: South America, Africa, Asia')
driver.find_element_by_css_selector('input[value="{}"]'.format(geographic_area)).click()
在这里,向用户提供了一个可供选择的大陆列表,一旦选中,就会单击相应的下拉列表
但是如何编写代码的第二部分呢?我想再次使用input()
功能,但我会有3个不同的列表。例如,假设我想选择巴西:要这样做,我必须先选择南美,然后选择巴西。我该怎么做呢
以下是一些关于南美商品的信息(非常长):
南美洲↕
阿根廷↕
布宜诺斯艾利斯
布宜诺斯艾利斯。
卡塔马卡
查科
丘布特省
科尔多瓦
科伦特斯
恩特雷里奥斯
福尔摩沙
胡胡伊
拉潘帕
里奥哈酒店
门多萨
米西奥内斯省
内乌肯
里约内格罗
萨尔塔
圣胡安
圣路易斯
圣克鲁斯
圣达菲
圣地亚哥德尔埃斯特罗酒店
火地岛酒店
图库曼
玻利维亚
巴西↕
英亩
阿拉戈斯
阿马帕州
亚马孙
巴伊亚
塞阿拉州
联邦行政区
圣埃斯皮里托酒店
戈亚斯
马兰豪
马托格罗索州
南马托格罗索州
米纳斯吉拉斯酒店
帕拉
帕拉伊巴
巴拉那
伯南布哥
朴
里约热内卢
北里奥格兰德
南里奥格兰德
隆多尼亚
罗赖马州
圣卡塔里纳
圣保罗
塞尔吉佩
托坎廷斯
巴西-名称未知
巴西-名称未知
巴西-名称未知
尝试单击具有精确文本的元素:
continents_countries = {"Asia": ["China", "India", ...],
"Africa": ["South Africa", "Uganda", ...],
"South America": ["Brazil", "Argentina", ...]}
geographic_area = input('\n\n\Select a geographic area: South America, Africa, Asia')
country = input('\n\n\Select a country: %s' % ",".join(continents_countries[geographic_area])
driver.find_element_by_xpath('//label[text()="{}"]'.format(geographic_area)).click()
driver.find_element_by_xpath('//label[text()="{}"]'.format(country)).click()
尝试单击具有精确文本的元素:
continents_countries = {"Asia": ["China", "India", ...],
"Africa": ["South Africa", "Uganda", ...],
"South America": ["Brazil", "Argentina", ...]}
geographic_area = input('\n\n\Select a geographic area: South America, Africa, Asia')
country = input('\n\n\Select a country: %s' % ",".join(continents_countries[geographic_area])
driver.find_element_by_xpath('//label[text()="{}"]'.format(geographic_area)).click()
driver.find_element_by_xpath('//label[text()="{}"]'.format(country)).click()
你能为整个“大陆”元素(包括它的国家)共享HTML吗?我该怎么做?我要右击并点击inspect吗?是的。然后您可以右键单击所需元素并选择“复制外部HTML”
↕ 代码>如果有帮助,单击此项只需打开国家/地区的下拉列表。它不会点击所有国家,我指的是整个节点块。复制并更新您的问题(“编辑”按钮)。现在还不太清楚,为什么要为大陆显示span
元素的HTML,而工作选择器用于input
元素。。。你能为整个“大陆”元素(包括它的国家)共享HTML吗?我该怎么做?我要右击并点击inspect吗?是的。然后您可以右键单击所需元素并选择“复制外部HTML”↕ 代码>如果有帮助,单击此项只需打开国家/地区的下拉列表。它不会点击所有国家,我指的是整个节点块。复制并更新您的问题(“编辑”按钮)。现在还不太清楚,为什么要为大陆显示span
元素的HTML,而工作选择器用于input
元素。。。您的用户如何知道要选择哪个国家?:)哦您的意思是只指定特定大陆的国家?我认为这很容易做到。我会在一分钟内更新答案