1 回答

TA貢獻1869條經(jīng)驗 獲得超4個贊
目前,由于 tooc 憑據(jù),您的網(wǎng)址無法訪問。您可以使用以下代碼從下拉列表中選擇值/可見文本。
from selenium import webdriver
from selenium.webdriver.support.ui import Select
select= WebDriverWait(driver, 30).until(
EC.element_to_be_clickable((By.XPATH, "select element xpath")))
print(len(select.options))
select.select_by_value("") # select by value
select.select_by_visible_text('') # select by visible text
注意:請在您的解決方案中添加以下導(dǎo)入
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
或者
driver.find_element_by_xpath("//select[@name='element_name']/option[text()='option_text']").click()
更新的解決方案:它是一個自定義下拉元素,因此您需要以不同的方式處理它。請找到以下代碼供您參考。我已經(jīng)驗證了它并按預(yù)期工作。
driver.get("https://toolkit.tuebingen.mpg.de/tools/hhpred")
main_window = driver.current_window_handle
wait = WebDriverWait(driver, 20)
wait.until(EC.element_to_be_clickable((By.XPATH, "//button[@class='btn sign-in-link btn-href btn-sm']"))).click()
wait.until(EC.element_to_be_clickable((By.XPATH, "(//fieldset[@class='form-group']//input)[2]"))).send_keys('')
wait.until(EC.element_to_be_clickable((By.XPATH, "(//fieldset[@class='form-group']//input)[3]"))).send_keys('')
wait.until(EC.element_to_be_clickable((By.XPATH, "//button[@class='btn btn-secondary']"))).click()
wait.until(EC.element_to_be_clickable((By.XPATH, "//*[contains(text(), 'Got it!')]"))).click()
print wait.until(EC.element_to_be_clickable((By.XPATH, "//span[contains(text(),'Paste Example')]"))).text
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
clickElement=wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@class='multiselect__tags']")))
ActionChains(driver).move_to_element(clickElement).click().perform()
wait.until(EC.element_to_be_clickable((By.XPATH, "//li[*]//span[contains(text(),'TIGRFAMs_v15.0')]"))).click()
輸出:
添加回答
舉報