首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在我的web搜索中,一些div没有出现

在我的web搜索中,一些div没有出现
EN

Stack Overflow用户
提问于 2019-07-01 00:00:31
回答 2查看 50关注 0票数 0

我正在尝试用下面的代码抓取一个HTML页面:

代码语言:javascript
运行
复制
driver = webdriver.Chrome()
driver.get(url)
try:
    element = WebDriverWait(driver, 20).until(
    EC.presence_of_element_located((By.CLASS_NAME,
                                    "myclass")))  
    html = driver.page_source
    soup = bs(html, "lxml")
    print(html)
    dynamic_text = soup.find_all("div", {"class": "myclass"})  
except:
       print("Couldnt locate element")

html页面已打开,但在IDE控制台中我看到了except消息。看起来,没有找到包含class_name "myclass“的div。然而,当我检查我得到的html页面时,我在那里看到了带有该类名的div。

HTML中的div:

代码语言:javascript
运行
复制
<div role="radio" data-ng-attr-id="{{radioId}}" data-ng-attr-tabindex="{{directToShow === strVm.data.selectedDirectToShow ? '0' : '-1'}}" data-ng-attr-aria-checked="{{directToShow === strVm.data.selectedDirectToShow ? 'true' : 'false'}}" class="trainBasicInfo ng-scope" data-ng-if="directToShow.date == undefined" data-ng-click="strVm.onSelectDirectToShow(directToShow, $event)" data-ng-class="{'active': directToShow === strVm.data.selectedDirectToShow}" id="railRadio_423" tabindex="-1" aria-checked="false">

我在WebDriverWait中添加了注释,然后看到了print(html)命令的输出。在打印的输出中,我看不到div,但是当我检查打开的chrome页面时,我可以看到div。

EN

Stack Overflow用户

发布于 2019-07-01 00:08:33

如果你正在使用Selenium,你应该尝试这样做:

代码语言:javascript
运行
复制
driver = webdriver.Chrome()
driver.get(url)

element = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.CLASS_NAME,"myclass")))

html = driver.page_source
dynamic_text = driver.find_elements_by_xpath('//div') #this will be a list of all divs on the page, they all will be selenium object

还要记住,根据您的驱动程序配置,页面上可能没有某些脚本生成的内容

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56826239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档