簡體   English   中英

如何使用Selenium WebDriver單擊或選擇Python中輸入下拉框的第一個元素(值)

[英]how to click or select on very first element(value) of input dropdown box in python using selenium webdriver

我是python網絡抓取並嘗試使網站自動化的初學者。 在我要抓取的網站上,有一個搜索過濾器,我在輸入框下拉標簽上應用過濾器。
在下拉框中,我輸入了國家名稱,所有國家都相應地出現了,但是我無法選擇或單擊下拉框中作為值的第一個國家。 我也應用了一些代碼,但是我的腳本失敗並終止。
下面是用於更好理解的圖像。 在此處輸入圖片說明

我還應用了一些代碼,請在下面檢查

p_location='united states'

browser.find_by_xpath("//label[contains(.,'Geography')]").first.click()
        actions_wait_time = randint(15, 30)
        time.sleep(actions_wait_time)
        loc_input = browser.find_by_xpath("//input[@placeholder='Add locations']")
        loc_input.type(p_location)
        actions_wait_time = randint(15, 30)
        time.sleep(actions_wait_time)
        loc_input.type(Keys.TAB)
        time.sleep(3)
        loc_input.type(Keys.RETURN)

我想從下拉列表中選擇第一個值。 請幫忙

在不查看頁面DOM的情況下不可能拿出確切的代碼,但是很明顯的一點是:您不應該使用time.sleep函數,因為它是某種形式的性能反模式。

您應該改為“ 顯式等待”,例如:

loc_input = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, "//input[@placeholder='Add locations']")))
first_element = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, "//xpath/for/the/first/element/in/the/dropdown")))
first_element.click()

詳細信息: 如何使用Selenium通過AJAX技術測試Web應用程序

暫無
暫無

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

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