ighack 发表于 2018-11-19 15:12

关于爬取百度搜索结果不对的问题

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from pyquery import PyQuery as pq
import time

if __name__ == "__main__":
    browser = webdriver.Chrome()
    wait = WebDriverWait(browser, 5)
    browser.get("http://www.baidu.com")
    kw = browser.find_element_by_id("kw")
    kw.send_keys("iphone6")
   
    button = browser.find_element_by_id("su")
    button.click()
    wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'#container #content_left')))
    html = browser.page_source
    print(html)
    browser.close()html里的内容不对。只有一个什么<meta>这个标签的内容。没有搜索结果。不知道什么地方不对

dahe_1984 发表于 2018-11-30 18:48

点击"cu" button后浏览器里显示什么?

ighack 发表于 2018-12-05 14:14

浏览器显示是正常的内容

ighack 发表于 2018-12-06 09:02

wait.until(EC.presence_of_element_located(
      (By.ID, 'content_left')))
    html = browser.find_element_by_id('content_left')
改成这样只获得
<selenium.webdriver.remote.webelement.WebElement (session="37f57cbb9e767f7497a32c4fdfa04430", element="0.21314784833102896-3")>

ighack 发表于 2018-12-15 12:08

本帖最后由 ighack 于 2018-12-15 12:18 编辑

ighack 发表于 2018-12-06 09:02
wait.until(EC.presence_of_element_located(      (By.ID, 'content_left')))    html = browser.find_ ...
这个方法是可以获取搜索以后的元素,但我怎么才能结合pyquery
html.text只是获取文字没有html元素。主要是想怎么样doc = pq(html)

页: [1]
查看完整版本: 关于爬取百度搜索结果不对的问题