【发布时间】:2021-03-25 08:28:12
【问题描述】:
我正在尝试选择框架“mainFrame”。
页面来源是:
<frameset rows="89,*" frameborder="NO" border="0" framespacing="0">
<frame name="topFrame" scrolling="NO" noresize src="inc-webpage/b-topnav.asp">
<frameset rows="*,20" frameborder="NO" border="0" framespacing="0">
<frameset cols="175,*" frameborder="NO" border="0" framespacing="0">
<frame name="leftFrame" scrolling="AUTO" noresize src="inc-webpage/b-sidenav-3.asp">
<frame name="mainFrame" src="b-default.asp">
</frameset>
<frame name="bottomFrame" scrolling="NO" noresize src="inc-webpage/b-footer.asp">
</frameset>
</frameset>
<noframes>
我希望选择的元素在“mainFrame”中。因此我的代码是:
time.sleep(5)
driver.switch_to.frame("mainFrame");
driver.find_element_by_xpath("//a[contains(text(),'I Agree')]").click()
是的。 time.sleep() 不太理想,所以我只是暂时使用它。
这是我希望在“mainFrame”中选择的元素的 HTML:
<input type="button" value="I Agree"
class="btn" onmouseover="blueBtnOver(this)" onmouseout="blueBtnOut(this)"
onclick="javascript:location.href='b-3c-pLessonBooking.asp?limit=pl'" style="background: rgb(0, 102, 204);">
目前出现此错误:
NoSuchFrameException(frame_reference) selenium.common.exceptions.NoSuchFrameException:消息:mainFrame
我是一个绝对的初学者。 driver.find_element_by_xpath 可能是错误的
另外,为什么有些网站使用框架//框架集,而其他网站使用 iframe,而有些则不使用?
【问题讨论】:
-
按钮
I Agree不在您发布的框架内。如果有任何框架,您需要检查 DOM 和该按钮的父级?它应该像<frame>#document <html>button element</html></frame>
标签: python selenium-webdriver frames frameset