提交 33f1eb58 编写于 作者: donggela's avatar donggela

selenium模拟百度搜索

上级 e8fea871
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)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册