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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

獲取所有由 THEN 包裹的文本 if 條件

獲取所有由 THEN 包裹的文本 if 條件

臨摹微笑 2022-05-19 14:14:48
html代碼<div class=media>   <div class=11></div>   <div class=22></div>   <div class=media-content>       yes, this is the text<BR>       that i want to compare below       multiple line    </div></div><div class=media>   <div class=11></div>   <div class=22></div>   <div class=media-content>       and i want to compare above text multiple line       then if both same, i wanna break the loop       But it is not work    </div></div>成功選擇第一個(gè)元素(由 chropath 檢查)driver.find_elements_by_xpath('//div[@class="media"][last()]//div[@class="media-content"]')成功選擇第二個(gè)元素(由 chropath 檢查)driver.find_elements_by_xpath('//div[@class="media"][last()-1]//div[@class="media-content"]')但是兩個(gè)文本都不相同,但總是 TRUE 然后中斷。if driver.find_elements_by_xpath('//div[@class="media"][last()]//div[@class="media-content"]').gettext() == driver.find_elements_by_xpath('//div[@class="media"][last()-1]//div[@class="media-content"]').gettext():     break是的,這是行不通的。我想比較第一和第二的文本(多行)element(@class=media-content)如果兩個(gè)多行文本相同,我想停止循環(huán)。但是兩個(gè)文本都與您看到的不同,但總是變?yōu)?TRUE 然后 STOPPED(break)我成功選擇了項(xiàng)目(*with last[], last[]-1) 但我不知道為什么它會(huì)出錯(cuò).....有沒(méi)有人可以解決我的新手代碼?//text(), .gettext(),.text()
查看完整描述

3 回答

?
BIG陽(yáng)

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

試試下面的代碼。


items1=[item.text for item in driver.find_elements_by_xpath('//div[@class="media"][last()-1]//div[@class="media-content"]')]

items2=[item.text for item in driver.find_elements_by_xpath('//div[@class="media"][last()]//div[@class="media-content"]')]

if items1==items2:

    print("pass")

else:

    print("fail")


查看完整回答
反對(duì) 回復(fù) 2022-05-19
?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊

對(duì)我來(lái)說(shuō),anser 是(如果在 singal div[@class="media-content"] 節(jié)點(diǎn)中有多個(gè) div[@class="media-content"] 元素):


media_last = driver.find_elements_by_xpath('//div[@class="media"][last()]//div[@class="media-content"]')

media_last = [a.gettext() for a in media_last]


media_not_last =driver.find_elements_by_xpath('//div[@class="media"][last()-1]//div[@class="media-content"]')

media_not_last = [a.gettext() for a in media_not_last]


if media_last == media_not_last:

    break

您無(wú)法在元素?cái)?shù)組中獲取方法 gettext


或者如果你想得到一個(gè)單一的元素,請(qǐng)使用 find_element_by_xpath 方法


查看完整回答
反對(duì) 回復(fù) 2022-05-19
?
慕哥6287543

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊

我使用您的 html 測(cè)試了以下內(nèi)容,并且得到了您期望的行為:


from selenium import webdriver

driver = webdriver.Chrome()

driver.get(r'file:///<path to local html file>') # Used local html file for testing purposes

el1 = driver.find_elements_by_xpath('//div[@class="media"][last()]//div[@class="media-content"]')

el2 = driver.find_elements_by_xpath('//div[@class="media"][last()-1]//div[@class="media-content"]')

if el1[0].text == el2[0].text:

    print('Yes')

else:

    print('No')

要理解的一件事是driver.find_elements_by_path()返回一個(gè)list對(duì)象。因此,即使看起來(lái)您正在針對(duì)頁(yè)面中的特定元素,它們也存儲(chǔ)在list對(duì)象中,如果您希望訪問(wèn)元素的文本,您應(yīng)該以這種方式引用它們。


查看完整回答
反對(duì) 回復(fù) 2022-05-19
  • 3 回答
  • 0 關(guān)注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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