【发布时间】:2017-11-26 15:24:33
【问题描述】:
嗨,我可以在标签之间切换,访问所有元素。我无法在此 iframe 中滚动。脚本执行没有错误。但是滚动没有发生。请帮忙。我使用的代码如下。
# switching to iframe
iframe = self.browser.find_elements_by_tag_name('iframe')[0]
self.browser.switch_to_frame(iframe)
time.sleep(1)
#clicking tab 4
self.force_click('xpath=/html/body/div/md-content/md-tabs/md-tabs-wrapper/md-tabs-canvas/md-pagination-wrapper/md-tab-item[4]/span')
time.sleep(4)
#scrolling
elm = self.browser.find_elements_by_tag_name('html')
elm[0].send_keys(Keys.END)
iframe的HTML如下。
<iframe id="widget-iframe" class="widget-iframe" frameborder="0" ap-onunload="vm.onFrameUnload()" ap-onload="vm.onFrameLoad()" ng-src="/apps/launchpad-view-widget/" src="/apps/launchpad-view-widget/">
<!DOCTYPE html>
<html class="ng-scope" ng-app="launchpadViewWidget">
<head>
<body>
</html>
</iframe>
【问题讨论】:
-
你可以在切换到那个 iframe 后尝试 javascript 滚动
-
请提供我需要的脚本尝试使用java脚本。
-
这会向下滚动到页面底部-> driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
-
我试过这个,但它不起作用。通过没有任何错误,但没有滚动。
-
你能检查一下吗,把id换成你需要滚动到view的元素->element = driver.find_element_by_id('some_id') element.location_once_scrolled_into_view
标签: python selenium firefox iframe