我試圖單擊此頁面上的元素:url = 'https://finance.yahoo.com/quote/GOOG?ltr=1'driver = webdriver.Firefox()driver.get(url)driver.find_element_by_link_text('Financials')現(xiàn)在,我想單擊“現(xiàn)金流量”,“資產(chǎn)負債表”或“季度”。我知道這些按鈕已加載,因為我可以使用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時遇到了麻煩。我也按順序瀏覽了iframe,但仍然找不到我感興趣的元素。
3 回答

冉冉說
TA貢獻1877條經(jīng)驗 獲得超1個贊
您需要切換到正確的iframe-它們在Java中都具有不同的ID(或其他一些代碼),看起來像這樣(對于某些隨機iframe ID)
driver.switchTo().frame(driver.findElementById("defaultdestFB2-1"))
添加回答
舉報
0/150
提交
取消