繁体   English   中英

Python Selenium:单击下拉菜单中的选项时可以更改值吗?

[英]Python Selenium: Possible to change value when clicking option in dropdown menu?

我正在使用python硒进行一些搜索。 在我查询的一个网页上,搜索对话框允许我通过下拉菜单指定是否要搜索所有部分或特定部分。 要选择哪个部分,该站点在弹出窗口中有一些单独的对话框,我可以单击一个部分,然后在内部为下拉菜单中的“此部分”选项分配选定部分的值。 这是检查选择器时的外观:

    <select ...>
      <option id="searchthissection" value="<sectionname>">Search only in this section</option>
      <option id="searchallsections" value="">Search in all sections</option>
    </select>

因此,该值由外部弹出对话框设置。 设置后,我将触发以下选项:

    webdriver.find_element_by_xpath("//select[@id='searchoption']/option[text()'Search only in this section']").click()

现在,我原则上可以使用硒打开选择弹出窗口,切换到它,找到该部分,单击,切换回去,然后选择选项“ searchthissection”。 但这效率极低,这还因为弹出窗口加载缓慢且有多页选项可供切换。

我可以轻松列出/生成我想要的所有值。 单击选项时是否可以直接设置值? 我在想这样的事情:

    webdriver.find_element_by_xpath("//select[@id='searchoption']/option[text()'Search only in this section']").set_value('<sectionname>').click()

有任何想法吗? 非常感谢!

好,我解决了。 我所做的就是这个。 option=webdriver.find_element_by_xpath(...), webdriver.execute_script("arguments[0].value='<sectionname>';",option) ,然后通过将键发送到文本字段并发送键ENTER触发搜索(由于某些原因, option.click()不起作用)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM