为了账号安全,请及时绑定邮箱和手机立即绑定

在硒web驱动程序中如何选择正确的iframe

在硒web驱动程序中如何选择正确的iframe

肥皂起泡泡 2019-11-20 14:40:55
我试图单击此页面上的元素: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"))


查看完整回答
反对 回复 2019-11-20
  • 3 回答
  • 0 关注
  • 537 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信