我正在尝试从一个下拉框中选择元素,单击后会加载选项。我可以接触到元素,但不能与其交互。该错误不是由于页面没有像大多数相关问题一样完全加载而引起的。
我尝试通过Id,Xpath选择元素,并使用js来使该元素不隐藏,但到目前为止没有一个起作用。我尝试过的最新方法是发送keys.down来激活列表...仍然出现“不可交互”错误。
带有选择器的网页-
</div>
</div>
<div class="css-1wy0on6 av__indicators">
<span class="css-bgvzuu-indicatorSeparator av__indicator-separator">
</span>
<div aria-hidden="true" class="css-1u02eyf-indicatorContainer av__indicator av__dropdown-indicator">
<svg aria-hidden="true" class="css-19bqh2r" focusable="false" height="20" viewbox="0 0 20 20" width="20">
<path d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z">
</path>
</svg>
<span class="sr-only">
Toggle Select Options
</span>
</div>
</div>
</div>
<input name="organization" type="hidden" value="" />
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12 col-md-10 col-lg-8">
</div>
</div>
<div class="row">
<div class="col">
<button class="btn btn-primary disabled" disabled="" type="submit">
Continue
</button>
</div>
</div>
</form>
</div>
</div>
到目前为止使用的一些Python代码-
elem = driver.find_element_by_name("organization")
js = "arguments[0].style.height='auto';
arguments[0].style.visibility='visible';"
driver.execute_script(js, elem)
from selenium.webdriver.common.keys import Keys
elem.send_keys(Keys.DOWN)
###not interactable Error
我希望该项目至少允许我选择或激活选项列表。我已经在列表中取得了成功,但是这种新类型却没有。
答案 0 :(得分:-1)
您尝试与INPUT
进行交互的type="hidden"
是SELECT
,因此它不会显示,也无法与使用Selenium进行交互。我的猜测是,有一个下拉菜单显示的不是INPUT
,用户进行了选择,然后代码将该值压入了隐藏的INPUT
中。只需忽略隐藏的{{1}}并通过单击下拉列表,然后单击您的选择来与用户进行交互即可。其余的应该照顾好自己。
如果您没有指出页面的HTML,就无法对定位器提出更多建议,因为您表示该网站位于某个帐户的后面。