from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
''' 设置代理IP和端口 '''
proxy_ip = "your proxy ip"
proxy_port = "port"
chrome_options.add_argument('--proxy-server={}:{}'.format(proxy_ip, proxy_port))
''' 设置浏览器语言 '''
chrome_options.add_argument('--lang=ja_JP') # zh_CN en_US ja_JP
''' user-agent '''
user_agent_str = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'
options.add_argument('--user-agent=' + user_agent_str)
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument('--disable-setuid-sandbox')
chrome_options.add_argument('--single-process')
chrome_options.add_argument('--no-zygote')
# chrome_options.add_argument("--disable-extensions")
''' 禁用GPU 加速 '''
chrome_options.add_argument("--disable-gpu")
'''「Chromeは自動テストソフトウェア~」を非表示で起動'''
chrome_options.add_experimental_option("excludeSwitches", ['enable-automation'])
''' 启动浏览器 '''
dr = webdriver.Chrome(options=chrome_options)
# dr = webdriver.Chrome(executable_path='chromedriver-v121.exe', options=chrome_options)
''' 打开百度 '''
dr.get('http://www.baidu.com/')
'''获取输入框对象,输入关键字并搜索'''
element = dr.find_element(By.ID, "kw")
element.send_keys("python")
element.submit()
''' 当需要用多个class结合着去定位元素时 '''
el_results_list = dr.find_elements(By.CSS_SELECTOR, ".class1.class2")
'''By.CLASS_NAME'''
el_a = dr.find_elements(By.CLASS_NAME, 'classname')
''' By.ID '''
element = dr.find_element(By.ID, "kw")
''' By.NAME'''
element = dr.find_element(By.NAME, "q")
''' By.XPATH'''
el_aria_label_path = '//div[@attrname="xxx"]' # 匹配所有 属性名为attrname,属性值为xxx 的元素
el_langs = dr.find_elements_by_xpath(el_aria_label_path )
python selenium webdriver 基础使用
于 2024-03-06 16:03:58 首次发布