gpt4 book ai didi

javascript - Python Selenium 或常规 Javascript,选择伪下拉列表的列表元素选项?

转载 作者:太空宇宙 更新时间:2023-11-03 15:50:12 24 4
gpt4 key购买 nike

下面是看起来像下拉列表的 HTML:

<div id="Form-PlaceList-boundlist" class="x-boundlist x-boundlist
floating x-layer x-boundlist-default x-border-box x-boundlist-above">
<div id="Form-PlaceList-boundlist-listEl" class="x-boundlist-list-ct
x-unselectable" role="presentation">
<ul class="x-list-plain">
<li class="x-boundlist-item x-boundlist-item-over x-boundlist-selected"
role="option" unselectable="on"></li>
<li class="x-boundlist-item" role="option" unselectable="on">Alabama</li>
<li class="x-boundlist-item" role="option" unselectable="on">Alaska</li>
<li class="x-boundlist-item" role="option" unselectable="on">Atlantis</li>

将 Selenium 与 Python 2.7 结合使用,我尝试选择列表/选项元素之一。我可以通过使用获取所需的元素

driver.find_element_by_xpath("//div[@id='Form-PlaceList-boundlist-ListEl']/ul/li[62]")

...除了列表顺序会不时发生变化,并且行号 #62 有时不是正确的元素。

您可以根据“Wyoming”而不是索引号来选择此元素吗?

我还尝试通过 driver.execute_script 向 Selenium 驱动程序发送 Javascript 命令来获取它。我尝试过:

driver.execute_script("document.getElementByID('Form-PlaceList-boundlist-listEl').setAttribute('value','Wyoming')")

但这给出了无法读取 null 的属性“setAttribute”。

最佳答案

您可以使用 XPath 定位器根据元素的文本来定位该元素:

dropdown = driver.find_element_by_css_selector("#Form-PlaceList-boundlist #orm-PlaceList-boundlist-listEl ul")

wyoming = dropdown.find_element_by_xpath(".//li[. = 'Wyoming']")
wyoming.click()

dot in the expression在本例中指的是当前元素的文本。

注意:在单击下拉菜单中的选项之前,不要忘记打开下拉菜单。

关于javascript - Python Selenium 或常规 Javascript,选择伪下拉列表的列表元素选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41390748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com