from selenium import webdriver from selenium.webdriver.common.by import By import time def open_driver(): option = webdriver.EdgeOptions() option.add_experimental_option("detach",True) option.add_experimental_option('excludeSwitches', ['enable-automation']) # 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium edge = webdriver.Edge(options=option) edge.maximize_window() edge.get("https://www.baidu.com") # 判断“百度一下”在网页的标题上 assert "百度一下" in edge.title # ele = edge.find_element(By.ID,"kw") # edge.find_element_by_id('kw') return edge def search(driver): input_ele = driver.find_element(By.ID,"kw") input_ele.clear() input_ele.send_keys("程序猿小董") button = driver.find_element(By.ID,"su") button.click() driver.implicitly_wait(10) # driver.find_elements(By.CLASS_NAME,"") results = driver.find_elements(By.CSS_SELECTOR,".t a , em , .c-title-text") for result in results: if result.get_attribute("href"): if "-" not in result.get_attribute("text"): # 搜索结果的标题 title = result.get_attribute("text").strip() # 搜索结果的网址 link = result.get_attribute("href") print(driver.title) print(driver.current_url) print(driver.window_handles) result.click() print(driver.window_handles) driver.switch_to.window(driver.window_handles[-1]) print(driver.title) print(driver.current_url) #滚动到目的元素 # ele = driver.find_element(By.CLASS_NAME,"tw0jb") # driver.execute_script("arguments[0].scrollIntoView();",ele) #向下滚动1000像素 driver.execute_script("window.scrollBy(0,1000)") time.sleep(60) driver.switch_to.window(driver.window_handles[0]) print(driver.title) print(driver.current_url) driver = open_driver() search(driver)