我需要从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
两个问题
- 应该是
description0 = driver.find_element_by_id('jobDescriptionText').text
不是
description0=driver.find_element_by_id('jobDescriptionText').getText()
- 应该是
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
,不确定你是否在循环中,如果不是,那么它不会做任何事情。