簡體   English   中英

如何單擊使用 Selenium 隱藏的下拉菜單?

[英]How do I click on a drop down menu that is hidden using Selenium?

我正在嘗試單擊下拉菜單,但由於它是隱藏的,因此出現錯誤:

could not be scrolled into view

我已經進行了一些挖掘,發現使用一些 JavaScript 可能會有所幫助,但我不確定如何在我的 Python 腳本中實現它。

<div class="MuiSelect-root MuiSelect-select MuiSelect-selectMenu MuiSelect-outlined MuiInputBase-input MuiOutlinedInput-input jss987" tabindex="0" role="button" aria-haspopup="listbox" aria-labelledby="input-label-idTeam1Desktop select-idTeam1Desktop" id="select-idTeam1Desktop"><span>​</span></div>
<input name="idTeam1Desktop" type="hidden" id="idTeam1Desktop" value="">

這是我到目前為止所擁有的:

driver = webdriver.Firefox(profile, options=options)
driver.get("https://tradenba.com/trade-machine")
element = driver.find_element_by_xpath("//*[@id='idTeam1Desktop']")
element.click()

要單擊下拉菜單和 select 菜單項,文本為MIL ,您需要為element_to_be_clickable()誘導WebDriverWait ,您可以使用以下基於定位器策略

  • 使用XPATH

     driver.get('https://tradenba.com/trade-machine') WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@id='select-idTeam1Desktop']"))).click() WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='MuiListItemText-root MuiListItemText-inset']/span/div/p[text()='MIL']"))).click()
  • 注意:您必須添加以下導入:

     from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
  • 瀏覽器快照:

貿易場

暫無
暫無

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

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