我正在嘗試使用Selenium(使用Python接口并在多個(gè)瀏覽器上)測(cè)試復(fù)雜的javascript接口。我有許多形式的按鈕:<div>My Button</div>我希望能夠基于“我的按鈕”(或不區(qū)分大小寫(xiě)的部分匹配項(xiàng),例如“我的按鈕”或“按鈕”)搜索按鈕我覺(jué)得這非常困難,在某種程度上我覺(jué)得自己缺少明顯的東西。到目前為止,我最好的是:driver.find_elements_by_xpath('//div[contains(text(), "' + text + '")]')但是,這是區(qū)分大小寫(xiě)的。我嘗試過(guò)的另一件事是遍歷頁(yè)面上的所有div,并檢查element.text屬性。但是,每次您遇到以下形式的情況:<div class="outer"><div class="inner">My Button</div></div>div.outer也將“我的按鈕”作為文本。為了解決這個(gè)問(wèn)題,我嘗試查看div.outer是否是div.inner的父級(jí),但無(wú)法弄清楚該怎么做(element.get_element_by_xpath('..')返回元素的父級(jí),但是測(cè)試不等于div.outer)。另外,至少使用Chrome網(wǎng)絡(luò)驅(qū)動(dòng)程序,迭代頁(yè)面上的所有元素似乎真的很慢。有想法嗎?
如何在Selenium Webdriver(Python)中找到包含特定文本的元素?
小怪獸愛(ài)吃肉
2019-10-15 14:28:50