selenium处理iframe网页办法

学习selenium中,发现有一些网页是嵌套的,即一个html嵌套另一个html,这被称为iframe,selenium只能查找主网页的元素,无法查看嵌套的,进入嵌套的一行代码,首先定位到iframe,然后browser.switch_to.frame(iframe)

iframe示例selenium处理iframe网页办法_第1张图片selenium处理iframe网页办法_第2张图片

from selenium import webdriver
import time
path = 'chromedriver.exe'
browser = webdriver.Chrome(path)
url = 'https://www.88mv.org/vod-play-id-124492-src-1-num-1.html'
browser.get(url)
# browser.switch_to.window(browser.window_handles[-1])

time.sleep(2)
button = browser.find_element_by_xpath('/html/body/div[3]/div/div[3]/a')
button.click()
time.sleep(2)
iframe = browser.find_element_by_xpath('//*[@id="playleft"]/iframe[2]')
browser.switch_to.frame(iframe)
time.sleep(2)
b = browser.find_element_by_xpath('/html/body/div[1]')
print(b.get_attribute('id'))

 上述代码运行结果为loading

注释掉

iframe = browser.find_element_by_xpath('//*[@id="playleft"]/iframe[2]')
browser.switch_to.frame(iframe)后会报错,找不到元素

跳出iframe框架代码:

browser.switch_to.parent_frame()

你可能感兴趣的:(selenium,测试工具)