第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python - 如何使用硒從消失的下拉列表中查找元素

Python - 如何使用硒從消失的下拉列表中查找元素

繁星點點滴滴 2023-04-25 15:24:40
我正在嘗試使用selenium從steam 主頁上消失的下拉列表中找到一個元素。當您在搜索欄中鍵入內(nèi)容時,結(jié)果會下拉,如果您在搜索欄外單擊,則下拉結(jié)果會消失。如果您希望結(jié)果再次出現(xiàn),則需要再次單擊它。無論如何,我的代碼在搜索欄中輸入了一個輸入,并且在運行時會顯示下拉列表input_elem.send_keys(game)(我使用“terraria”作為輸入),并且每個第一個結(jié)果都有相同的 css 選擇器。我也試圖用 xpath 找到元素,它也不起作用:from selenium import webdrivergame = input('Type the game you want to find here: ')# configure browserbrowser = webdriver.Firefox()browser.get('https://store.steampowered.com/')# input gameinput_elem = browser.find_element_by_css_selector('#store_nav_search_term')input_elem.send_keys(game)# click the first resultfirst_match = browser.find_element_by_css_selector('a.match:nth-child(1)')first_match.click()這是完整的錯誤:Traceback (most recent call last):  File "/home/fanjin/Documents/Python Projects/web_projects/steam/game_finder.py", line 14, in <module>    first_match = browser.find_element_by_css_selector('a.match:nth-child(1)')  File "/home/fanjin/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 598, in find_element_by_css_selector    return self.find_element(by=By.CSS_SELECTOR, value=css_selector)  File "/home/fanjin/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 976, in find_element    return self.execute(Command.FIND_ELEMENT, {  File "/home/fanjin/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute    self.error_handler.check_response(response)  File "/home/fanjin/.local/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response    raise exception_class(message, screen, stacktrace)selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: a.match:nth-child(1)
查看完整描述

1 回答

?
MMMHUHU

TA貢獻1834條經(jīng)驗 獲得超8個贊

要點擊第一個自動建議,您必須為引入WebDriverWaitelement_to_be_clickable()并且您可以使用以下任一定位器策略:


使用CSS_SELECTOR:


driver.get("https://store.steampowered.com/")

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input#store_nav_search_term"))).send_keys("terraria")

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div#search_suggestion_contents>a"))).click()

使用XPATH:


driver.get("https://store.steampowered.com/")

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "http://input[@id='store_nav_search_term']"))).send_keys("terraria")

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "http://div[@id='search_suggestion_contents']/a"))).click()

注意:您必須添加以下導入:


from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.common.by import By

from selenium.webdriver.support import expected_conditions as EC

瀏覽器快照:

http://img3.sycdn.imooc.com/644780590001422806550257.jpg

查看完整回答
反對 回復 2023-04-25
  • 1 回答
  • 0 關(guān)注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號