首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Quora中提取带有Selenium的“(更多)”文本

从Quora中提取带有Selenium的“(更多)”文本
EN

Stack Overflow用户
提问于 2015-10-13 15:46:44
回答 1查看 388关注 0票数 3

我在试着抓取Quora的答案。考虑到这个链接,例如:https://www.quora.com/Is-it-too-late-for-an-X-year-old-to-learn-how-to-program

看第一个答案,有一个“更多”的标签女巫表示有更多的文本隐藏。

问题--使用中的Selenium --我无法打开并从这个项目中提取文本。

--我试着.--我也试着用JavaScript点击链接"Show“,用这个结构:

代码语言:javascript
运行
复制
   try:
       if ans.find_element_by_xpath('.//a[contains(@class, "more_link")]').is_displayed():
                    elem_more = ans.find_element_by_xpath('.//a[contains(@class, "more_link")]')
                    #self.driver.execute_script("arguments[0].click();", elem_more )
                    Hover = webdriver.ActionChains(self.driver).move_to_element(elem_more)
                    Hover.click(elem_more).perform()
                    #wait_1.until(EC.invisibility_of_element_located((By.CLASS_NAME, "switch_indicator")))
   except (NoSuchElementException,TimeoutException) as e:
       pass

然后把答案的内容

代码语言:javascript
运行
复制
 content = ans.find_element_by_xpath('.//span[contains(@class, "inline_editor_value")]')

这与回答“更多”是一样的,因为我用来从任何答案中提取文本的容器。

EN

回答 1

Stack Overflow用户

发布于 2015-10-13 16:30:48

单击more按钮后,可以获得css路径'.inline_editor_value > div > div'中的整篇文章。

代码语言:javascript
运行
复制
>>> c = driver.find_element_by_css_selector('.inline_editor_value > div > div').text
>>> print len(c)
3491
>>> driver.find_element_by_class_name("more_link").click()
>>> c_new = driver.find_element_by_css_selector('.inline_editor_value > div > div').text
>>> print len(c_new)
9642
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33107090

复制
相关文章

相似问题

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