参考:https://www.cnblogs.com/zhaof/p/6953241.html
https://blog.csdn.net/One_of_them/article/details/82560880

  • 首先安装pip install selenium
  • 去网站https://sites.google.com/a/chromium.org/chromedriver/downloads选75,因为我的chrome版本就75,直接下载win32,然后最好放到项目中,然后把放到环境变量中,linux建议**/usr/local/bin**
  • 之后自己直接cmd执行下chromedriver看有反应吧
  • 这个模拟浏览器就好了,自己执行吧
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
import time

设置不跳chrome出来

chrome_opt = Options() # 创建参数设置对象.

chrome_opt.add_argument('--headless') # 无界面化.

chrome_opt.add_argument('--disable-gpu') # 配合上面的无界面化.

chrome_opt.add_argument('--window-size=1366,768') # 设置窗口大小, 窗口大小会有影响.

browser = webdriver.Chrome(chrome_options=chrome_opt)

browser = webdriver.Chrome(options=chrome_opt) browser.get("http://www.jd.com")

find1 = browser.find_element_by_id('q')

find2 = browser.find_element_by_css_selector('#q')

find3 = browser.find_element_by_xpath('//*[@id="q"]')

find2 = browser.find_elements_by_css_selector('.service-bd li')

wait = WebDriverWait(browser, 2) # 等个2秒

下面是进化版(搜索ipad)

searchInput = browser.find_element(By.ID, 'key')

searchButton = browser.find_element_by_class_name('button')# 对应着上面的那个方法

下面是超进化版

searchInput = wait.until(EC.presence_of_element_located((By.ID, 'key'))) # 等待这个元素加载好了(只获得一个) searchInput.send_keys('ipad') searchButton = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.button'))) # 等待这个按钮可以点了 searchButton.click()

time.sleep(2)

print(browser.page_source) # 这样是能获得到新页面的源码的

print(browser.current_url) # 当前页面的网址

下面两个都是根据条件筛选

li = browser.find_elements_by_css_selector('.gl-warp li .p-name')

li = browser.find_elements(By.CSS_SELECTOR, '.gl-warp li .p-name')

拉倒最底部和操作js

browser.execute_script('window.scrollTo(0, document.body.scrollHeight)')

browser.execute_script('alert("To Bottom")')

#获取图片的地址src属性 oneImg = browser.find_element_by_css_selector('.shop-logo a img')

oneImg = oneImg.get_attribute('src')

print(oneImg)

browser.get_screenshot_as_file('C:/foo.png') # 当前页面截图

brower.close()

mac版

因为之前版本是win的能实现,现在是mac遇到问题总结如下
phpstorm写pyhton不太方便,直接下载了pycharm用
在pycharm里将默认的2.7引擎改成了3.8,mac默认是2.7
下载了chromedriver后放到了/usr/local/bin里面后再执行

vi ~/.bash_profile
//然后添加如下一行
export PATH=$PATH:/usr/local/bin/chromedriver
// 执行生效
source ~/.bash_profile
// 本地测试
chromedriver --version

还是没找到然后我卸载了之前装的selenium,再重新安装了下

pip uninstall selenium
pip install selenium

最后成功
在这里插入图片描述