3 回答

TA貢獻1770條經(jīng)驗 獲得超3個贊
Leon的評論提出了正確的信息,即不再支持復(fù)合類名稱。相反,您可以嘗試使用CSS選擇器。就您而言,以下代碼行應(yīng)幫助您獲取所需的元素:
el3 = driver.find_element_by_css_selector(".action-btn.cancel.alert-display")
它在class屬性中找到具有所有三個類(action-btn,cancel和alert-display)的元素。請注意,這里的類順序無關(guān)緊要,任何類都可以出現(xiàn)在class屬性中的任何位置。只要元素具有所有三個類,就將其選中。如果您希望固定類的順序,則可以使用以下xpath:
el3 = driver.find_element_by_xpath("//*[@class='action-btn cancel alert-display']")

TA貢獻1887條經(jīng)驗 獲得超5個贊
這個問題我來晚了。但是,當您不熟悉Xpath時,也可以通過使用tag_name和get_attribute('class')將復(fù)合類作為String來處理,從而找到了解決方法。它需要更多的代碼行,但是很簡單,適合像我這樣的初學(xué)者。
elements = driver.find_elements_by_tag_name('Tag Name Here')
for element in elments:
className = watchingTable.get_attribute('class')
print(className)
if className == 'Your Needed Classname':
#Do your things

TA貢獻1883條經(jīng)驗 獲得超3個贊
使用這種方式一會兒之后。我發(fā)現(xiàn)這可能不是一個好的解決方案。因為當TagName為'DIV'或'SPAN'時,每次嘗試查找太重的元素時都必須遍歷整個文檔。此外,在頁面加載時,您可能必須添加一些Try Except錯誤句柄以擺脫煩人的異常。了解并熟悉sagarwadhwa1的答案表明這將是一個很好的實踐
添加回答
舉報