我试图在this page上设置下拉列表:
第一个下拉列表和第四个下拉列表非常相似(品牌和国家)。这是我用来获取品牌(oem)和国家的代码:
oem = Select(wd.find_element_by_css_selector("#alBrandsList"))
oem.select_by_visible_text("Acer")
countries = Select(wd.find_element_by_css_selector("#alCountriesList"))
countries.select_by_visible_text("Albania")
这个下拉列表在技术上是隐藏的,但是它似乎对设备/oem下拉列表有用。对于“国家”下拉列表,它是指内容不可见(实际上是)。下面是它的HTML代码:
<select class="pretty-dropdown" datatosent="brand" id="alBrandsList" name="alBrandsList" selectorid="alPhoneModelsList" target="/AdvanceLookup/GetPhoneModels/" style="display: none;">
...
</select>
<button type="button" class="ui-multiselect ui-widget ui-state-default ui-corner-all" aria-haspopup="true" style="width: 232px;">
<span class="ui-icon ui-icon-triangle-2-n-s"></span>
<span>Please select brand(s)</span>
</button>
<select class="pretty-dropdown" datatosent="country" id="alCountriesList" name="alCountriesList" selectorid="alCarriersList" target="/AdvanceLookup/GetCarriers/" style="display: none;">
...
</select>
<button type="button" class="ui-multiselect ui-widget ui-state-default ui-corner-all" aria-haspopup="true" style="width: 232px;">
<span class="ui-icon ui-icon-triangle-2-n-s"></span>
<span>Please select country</span>
</button>
你知道为什么第一个能用,第二个不行吗
由于页面https://willmyphonework.net/AdvanceLookup上第一个和第四个下拉列表的
<select>
标记都具有style="display: none;
属性,因此不能使用Select
类。相反,您需要为element_to_be_clickable()
诱导WebDriverWait,您可以使用以下Locator Strategies:代码块:
浏览器快照:
相关问题 更多 >
编程相关推荐