簡體   English   中英

如何使用 python 和 selenium 與下拉菜單交互

[英]how to interact with a drop down menu using python and selenium

這是我嘗試與之交互的網頁中的元素:

<select class="experiment-enable-disable" tabindex="6" jsdisplay="enabled !== undefined" jsvalues=".internal_name:internal_name; aria-labelledby:internal_name + '_name'" jstcache="8" aria-labelledby="enable-experimental-web-platform-features_name">
    <option jsvalues=".selected:!enabled; data-default:!enabled ? 1 : 0" value="disabled" jstcache="15" data-default="1">Disabled</option>
    <option jsvalues=".selected:enabled; data-default: enabled ? 1 : 0" value="enabled" jstcache="16" data-default="0">Enabled</option>
</select>

這是我用來 select 的代碼:

select = driver.find_element_by_class_name("experiment-enable-disable")

現在,當我嘗試以“點擊”或“發送鍵”等方式與其交互時,它會顯示“元素不可交互”

如何與此下拉菜單交互?

當您嘗試與之交互時,可能不會加載下拉菜單。 您始終可以通過執行以下操作來誘導等待:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait

driver = webdriver.Chrome()
driver.get("insertwebsitehere")

try:
     element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable(By.XPATH,'xpath')).click()
     print("it's clickable")
except:
     pass

編輯:如果可能的話,我會使用 XPATH。 也不推薦使用find_element_by_class_name 如果要使用 class 名稱而不是 XPATH,請改用find_element(By.CLASS_NAME, "insert class name here")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM