Java 硒“元素不可交互”

Java 硒“元素不可交互”,java,python,selenium,web,element,Java,Python,Selenium,Web,Element,我在一个web项目中使用了python selenium,到目前为止,它与其他web元素配合得很好,但对于这个元素,它总是返回 元素不可交互:元素当前不可见,可能无法操作 会话信息:chrome=90.0.4430.93 我想要交互的元素的编码是 <select id="collection-arrangement" name="collectionArrangement" class="form-control ng-dirty ng-v

我在一个web项目中使用了python selenium,到目前为止,它与其他web元素配合得很好,但对于这个元素,它总是返回 元素不可交互:元素当前不可见,可能无法操作 会话信息:chrome=90.0.4430.93

我想要交互的元素的编码是

<select id="collection-arrangement" name="collectionArrangement" class="form-control ng-dirty ng-valid-parse ng-touched ng-empty ng-invalid ng-invalid-required" required="" ng-model="Bin.CollectionArrangement" ng-change="onCollectionArrangementChange(Bin.CollectionArrangement.id)" ng-options="type as type.value for type in CollectionArrangements track by type.value" aria-invalid="true" style=""><option value="" class="" selected="selected">-- select an option --</option><option label="Site pays for collection " value="Site pays for collection " selected="selected">Site pays for collection </option><option label="Waste Service Provider purchases materials" value="Waste Service Provider purchases materials">Waste Service Provider purchases materials</option><option label="Internal bin not collected by Waste Service Provider" value="Internal bin not collected by Waste Service Provider" selected="selected">Internal bin not collected by Waste Service Provider</option></select>
我想选择选项internal bin not collected by waste service provider,但每次运行此脚本时,游标till都会悬停在最后一个元素上,这意味着无法找到或操纵此元素


任何想法都非常感谢

我将尝试等待元素的出现,而不是等待元素的出现——不是在执行单击时,这导致了错误。等待的代码如下所示

wait = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH,collection_arrangement)))

我不会等待元素的出现,而是尝试等待它可见——不是在执行单击时,这导致了错误。等待的代码如下所示

wait = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH,collection_arrangement)))

看起来您正在将collection\u排列设置为select元素的XPATH,然后尝试将其用于find\u元素\u by\u id方法,而不是实际id

您也不需要手动单击该元素,因此可以尝试以下操作:

select = Select(driver.find_element_by_id('collection-arrangement'))
select.select_by_visible_text('Internal bin not collected by Waste Service Provider')

如有必要,请随时在那里等候。希望这会有所帮助,看起来您正在将collection\u排列设置为select元素的XPATH,然后尝试将其用于find\u元素按\u id方法,而不是实际id

您也不需要手动单击该元素,因此可以尝试以下操作:

select = Select(driver.find_element_by_id('collection-arrangement'))
select.select_by_visible_text('Internal bin not collected by Waste Service Provider')

如有必要,请随时在那里等候。希望这有帮助

谢谢你的回复,很遗憾我无法提供链接。下面是该页面的一些截图,这会有帮助吗?


谢谢你的回复,很遗憾我不能提供链接。下面是该页面的一些截图,这会有帮助吗?


嗨,马特,谢谢你的建议,但是仍然发生了无法操纵元素的情况。错误代码为元素不可交互:元素当前不可见,可能无法操作。我可以看到脚本游标仍然出现在之前的元素中,所以这可能不是我正在寻找的实际元素吗?看起来这是html代码中的一个…嘿,Simon,如果你试图正常地找到元素,那么你能这样做吗?例如:collection_arrangement='/html/body/div/div[2]/div/section/div/div[1]/div/section/div[3]/div/div/div[3]/section/form/table/tbody/tr[5]/td[1]/div/div/div/div/select'driver.find\u元素\u by\u xpathcollection\u arrangementHi马特,不幸的是,这不起作用。光标仍然不会移动到输入框。有可能这不是实际的元素吗?嗨,马特,谢谢你的建议,但是元素仍然不能被操纵。错误代码为元素不可交互:元素当前不可见,可能无法操作。我可以看到脚本游标仍然出现在之前的元素中,所以这可能不是我正在寻找的实际元素吗?看起来这是html代码中的一个…嘿,Simon,如果你试图正常地找到元素,那么你能这样做吗?例如:collection_arrangement='/html/body/div/div[2]/div/section/div/div[1]/div/section/div[3]/div/div/div[3]/section/form/table/tbody/tr[5]/td[1]/div/div/div/div/select'driver.find\u元素\u by\u xpathcollection\u arrangementHi马特,不幸的是,这不起作用。光标仍然不会移动到输入框。这可能不是实际的元素吗?嗨,佩克,谢谢你的建议,我更改了等待条件,但这次我收到了超时和与上面相同的错误代码,我可以尝试其他方法吗?谢谢我想我需要更多关于你正在测试的页面的信息/链接,以了解到底发生了什么。我不确定你是否能提供,或者是私人的。谢谢佩克,我已经用更多的信息给出了答案。希望这能有所帮助,谢谢!首先,你应该在你的问题中发布额外的信息,而不是创建另一个答案。第二,不,不幸的是,没有足够的HTML来查看正在发生的事情,需要完整的HTML,或者一个链接。嗨,佩克,谢谢你的建议,我改变了等待条件,但是这次我收到了一个超时和与上面相同的错误代码,我可以尝试其他方法吗?谢谢我想我需要更多关于你正在测试的页面的信息/链接,以了解到底发生了什么。我不确定你是否能提供,或者是私人的。谢谢佩克,我已经用更多的信息给出了答案。希望这能有所帮助,谢谢!首先,你应该在你的问题中发布额外的信息,而不是创建另一个答案。s 第二,不,不幸的是,没有足够的HTML来查看正在发生的事情,需要完整的HTML,或者一个链接。