1 回答
TA贡献2003条经验 获得超2个赞
您无法获得完整的 page_source。对于iframe,您应该使用以下命令:switch_to.frame(iframe_element),这样您就可以获取其中的元素
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
self.driver = webdriver.PhantomJS()
self.driver.get(url)
WebDriverWait(self._driver, 50).until(
EC.presence_of_all_elements_located
((By.XPATH,
'//iframe[@id="iframegame"]'))
)
iframe_element = self.driver.find_element_by_xpath('//iframe[@id="iframegame"]')
self.driver.switch_to.frame(iframe_element)
tag = self.driver.find_element_by_xpath('//tag')
再次返回,您可以使用以下命令获取 iframe 的外部元素;
self.driver.switch_to.default_content()
添加回答
举报