我想點擊一個元素此頁上:硒網絡驅動程序如何選擇正確的IFRAME
url = 'https://finance.yahoo.com/quote/GOOG?ltr=1'
driver = webdriver.Firefox()
driver.get(url)
driver.find_element_by_link_text('Financials')
在這一點上,我想點擊「現金流」,「資產負債表'或'Quarterly'。我知道這些按鈕已被加載,因爲我可以從頁面源使用BeautifulSoup提取它們。但是,當我嘗試使用Selenium做:
driver.find_element_by_link_text('Cash Flow')
driver.find_element_by_link_text('Balance Sheet')
driver.find_element_by_link_text('Quarterly')
全部迴歸「找不到元素」,除了「季刊」,返回的元素,但它的一個坐在圖表上方,而不是表上方的其中一個正是我感興趣的
我認爲這是由於在錯誤的IFRAME是的,我已經找到任何iframe:
driver.find_elements_by_tag_name('iframe')
返回9個元素。但是我很難確定哪個iframe是我想要點擊的元素所屬的。我還通過I幀順序去了,還是沒找到我感興趣的元素。
很不錯的答案!因此,爲了澄清,您如何能夠在複雜的網頁上識別框架是如何嵌套的?我一直在使用Firefox的Inspector,儘管它對我來說並不明顯,這是如何讓我找到iframe是如何包含在對方內的。 – AppleCider
你必須去通過對HTML標籤的整個層次,從您要查找的元素,並檢查它的任何父元素是否是iframe代碼。
感謝您的答覆,我知道你已經解釋了什麼,而是我希望有一些網絡工具,可以很方便地找到I幀是如何嵌套不遍歷所有的代碼?特別是如果源代碼非常複雜,或者您是否建議我只需要通過目標來查找並找到合適的iframe? – AppleCider