亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

無法使用selenium(python)找到元素

無法使用selenium(python)找到元素

動漫人物 2023-08-08 15:08:38
因此,我嘗試查看網站中的 iframe,但無法弄清楚該元素屬于何處。我試圖通過類名訪問元素。下面是我的代碼,這是網站。from requests import getfrom bs4 import BeautifulSoupfrom selenium.webdriver import Chromefrom selenium.webdriver.chrome.options import Optionsfrom selenium import webdriverbrowser = webdriver.Chrome(executable_path= '/Users/abeelcf/Downloads/chromedriver')browser.get('https://www.redfin.com')zipcode = input("Enter a zip code to look up: ")search_form = browser.find_element_by_id('search-box-input')search_form.send_keys(zipcode)search_form.submit()#pg 2browser.find_element_by_id("MapHomeCard_0")網址是https://www.redfin.com/zipcode/20007問題出在最后一行。它找不到元素 MapHomeCard_0 ,說該元素沒有這樣的元素。
查看完整描述

2 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

在 search_box 提交后,您需要使用網絡驅動程序等待等待頁面加載。


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'MapHomeCard_0')))

還導入以下內容


from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait 

from selenium.webdriver.support import expected_conditions as EC


查看完整回答
反對 回復 2023-08-08
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

要定位您需要引發WebDriverWait 的元素visibility_of_element_located(),您可以使用以下任一定位器策略:


使用XPATH:


driver.get('https://www.redfin.com')

search_form = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "http://input[@class='search-input-box' and @id='search-box-input'][@title='City, Address, School, Agent, ZIP']")))

search_form.send_keys("20007")

search_form.submit()

print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "http://div[@class='homecards']/div[@id='MapHomeCard_0']"))).text)

使用CSS_SELECTOR:


print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.homecards>div#MapHomeCard_0"))).text)

控制臺輸出:


LISTED BY REDFIN

3D WALKTHROUGH

$464,000

1 Bed

1 Bath

1,014 Sq. Ft.

2500 Q St NW #412, Washington, DC 20007

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


from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.common.by import By

from selenium.webdriver.support import expected_conditions as EC


查看完整回答
反對 回復 2023-08-08
  • 2 回答
  • 0 關注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號