我试图单击此页面上的元素:url = 'https://finance.yahoo.com/quote/GOOG?ltr=1'driver = webdriver.Firefox()driver.get(url)driver.find_element_by_link_text('Financials')现在,我想单击“现金流量”,“资产负债表”或“季度”。我知道这些按钮已加载,因为我可以使用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条经验 获得超1个赞
您需要切换到正确的iframe-它们在Java中都具有不同的ID(或其他一些代码),看起来像这样(对于某些随机iframe ID)
driver.switchTo().frame(driver.findElementById("defaultdestFB2-1"))
添加回答
举报
0/150
提交
取消