我有一个HTML页面,其中包含一个带有标记的表单。我想使用Selenium设置此标记中下拉列表的值。
这就是我检索输入元素的方式:

driver.find_element_by_xpath("/html/body/div[2]/div/div/form/div/div[1]/div[3]/div[1]/div/div[1]/input")

我试图使用select_month.send_keys("09")设置该值,但当我尝试提交表单时,网页不接受该值,因此我需要找到其他方法。
编辑:这是表单的HTML,我已经确保它是x-path中正确的元素:
<input autocomplete="off" tabindex="-1" class="ui-select-search ui-select-toggle ng-pristine ng-valid ng-touched" ng-click="$select.toggle($event)" placeholder="Select month" ng-model="$select.search" ng-hide="!$select.searchEnabled || ($select.selected &amp;&amp; !$select.open)" ng-disabled="$select.disabled" type="text">

最佳答案

经过一番折腾,并结合了alecxe提出的更好的实践,这个解决方案成功了。。。

driver.find_element_by_xpath("//input[@placeholder='Select month']").click()
driver.find_element_by_xpath("//*[contains(text(), '09')]").click()

关于python - 使用Python在Selenium中设置<input>下拉列表的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32867773/

10-17 00:49