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

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

Xpath 沒有使用 Splinter/Selenium Python 3 選擇正確的元素

Xpath 沒有使用 Splinter/Selenium Python 3 選擇正確的元素

桃花長相依 2021-09-01 14:46:17
不確定我是否在這里犯了一個愚蠢的錯誤,我已經搜索了所有內容,但我無法弄清楚這一點。我真的很感激你的幫助。我正在嘗試制作一個抓取工具來抓取 Google Map Pack 數據。我正在使用 Splinter 來做到這一點。我已經設法選擇了每個地圖包項目的 div,但我想然后遍歷并選擇每個 div 的標題(和其他元素)。但是,當我嘗試這樣做時,它總是選擇第一個元素的標題,即使我在單個元素上運行 find_by_xpath 也是如此。這是我的代碼:from splinter import Browserfrom selenium import webdriverimport timechrome_options = webdriver.ChromeOptions()browser = Browser('chrome', options=chrome_options)browser.visit("https://google.com")browser.fill('q', 'roofing laredo tx')# Find and click the 'search' buttontime.sleep(5)button = browser.find_by_name('btnK')# Interact with elementsbutton.click()time.sleep(5)maps_elements = browser.find_by_xpath("//div[contains(@class,'VkpGBb')]")for map_element in maps_elements:    # print(map_element.text)    title = map_element.find_by_xpath("//div[contains(@class,'dbg0pd')]/span").text    print(title)所以我想要的是:JJ Flores Roofing & Construction HBC Roofing McAllen Valley Roofing Co但我得到了JJ弗洛雷斯屋面和建筑 JJ弗洛雷斯屋面和建筑 JJ弗洛雷斯屋面和建筑
查看完整描述

3 回答

?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

編輯:


你得到了重復的結果,因為從循環(huán)它選擇根元素//它應該是相對的或選擇子元素,./但它仍然不起作用,并且可能是分裂錯誤。但嘗試使用 CSS 選擇器


for map_element in maps_elements: 

    # select relative but failed

    #title = map_element.find_by_xpath("./div[contains(@class,'dbg0pd')]/span")

    title = map_element.find_by_css("div[class*='dbg0pd'] > span").text

    print(title)

變量中的錯字,s從


title = maps_elements.....

#title = map_element.....


查看完整回答
反對 回復 2021-09-01
?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

這是正確的,因為您不能在 for 循環(huán)中聲明一個變量,然后在其中創(chuàng)建該變量。您需要在初始化循環(huán)之前創(chuàng)建變量才能使其工作。


title_elements = browser.find_by_xpath("//div[contains(@class,'dbg0pd')]/span")


for title_element in title_elements:

    title = title_element.text

    print(title)


查看完整回答
反對 回復 2021-09-01
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

更改您的代碼:


maps_elements = browser.find_by_xpath("//div[contains(@class,'VkpGBb')]")


for map_element in maps_elements:

    # print(map_element.text)

    title = maps_elements.find_by_xpath("//div[contains(@class,'dbg0pd')]/span").text

    print(title)


title_elements = browser.find_by_xpath("//div[contains(@class,'dbg0pd')]/span")


for title_element in title_elements:

    title = title_element.text

    print(title)


查看完整回答
反對 回復 2021-09-01
  • 3 回答
  • 0 關注
  • 241 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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