这是我第一次发帖提问。我花了3天多时间试图找出如何通过webdriver识别iFrame。这是我的HTML代码:
<iframe id="emailBodyIframe" class="" frameborder="0" src="about:blank" style="height: 151px;">
<html>
<head>
<body>
<p>Dear Administrator,</p>
Here is a passport number : XXXXXXX
<span class="sv-b212-highlighting" style="background-color:#B9DFF5;">aba</span>
#: 0000-0000-0
<p>Regards,</p>
<p>Local Archive</p>
</body>
这是给我错误的代码
FRAME = self.driver.find_element_by_tag_name("iframe").text
self.driver.switch_to().frame(FRAME)
body1 = self.driver.find_element_by_css_selector("span.sv-b212-highlighting").text
print body1
#self.driver.find_element_by_css_selector("span.sv-b212-highlighting").text
#self.driver.switch_to.frame(highlight,self.driver.find_element_by_css_selector("iframe[id='emailBodyIframe']").text)
AttributeError:SwitchTo实例没有调用方法
如何识别iFrame中突出显示的CSS?
我已尝试使用本网站提供的其他代码示例进行其他一些修改。所有人都返回了不同的错误。我是python的新手,还在学习。
任何人都知道我该怎么做?
答案 0 :(得分:0)
您需要获取网络元素,而使用FRAME
变量时,您只想从iframe
获取文字。尝试使用以下代码:
self.driver.switch_to_frame("emailBodyIframe")
body1 = self.driver.find_element_by_css_selector("span.sv-b212-highlighting").text
print body1
如果要处理元素,则不必添加.text
。仅用于从web-element