簡體   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