无法切换帧来获取文本



我需要从iframe标签下面的div标签中获取文本。这是我使用的代码:

try:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='vjs-container-iframe']/a")))
except Exception as e:
print(e)
try:
driver.switch_to.iframe('vjs-container-iframe')
description0=driver.find_element_by_id('jobDescriptionText').getText()
driver.switch_to.default_content()
counts=counts+1
break
except Exception as e:
print(e)

我得到这个错误的前半部分的代码:

Message:

其余部分为空白

后半部分的错误:

SwitchTo' object has no attribute 'iframe

两个问题

  1. 应该是
description0 = driver.find_element_by_id('jobDescriptionText').text

不是

description0=driver.find_element_by_id('jobDescriptionText').getText()
  1. 应该是
driver.switch_to.frame('vjs-container-iframe')

不是iframe而是frame

driver.switch_to.frame(driver.find_element(By.XPATH, ""))

您可以尝试使用任何唯一的定位器,代替xpath,也就是说,它可以是id,class name, css选择器等。

driver.switch_to.frame('vjs-container-iframe')

同样,.getText()代表Java,在Python中我们有.text

description0 = driver.find_element_by_id('jobDescriptionText').text 

同样,我看到你正在使用break,不确定你是否在循环中,如果不是,那么它不会做任何事情。

相关内容

  • 没有找到相关文章

最新更新