1. 程式人生 > 其它 >selenium使用之chrome的配置和使用

selenium使用之chrome的配置和使用

1.Selenium+Chrome的配置
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 例項化物件
option = Options()

# 配置無介面谷歌瀏覽器
# option.add_argument('--headless')

# 啟動開發者模式(關閉chrome控制)
option.add_experimental_option("excludeSwitches", ["enable-automation"])
option.add_experimental_option(
"useAutomationExtension", 'False') # 呼叫谷歌瀏覽器 driver = webdriver.Chrome(r'E:\chromedriver\chromedriver.exe', options=option) # 發起請求 driver.get('https://www.baidu.com') #最大視窗化 # 注意:爬蟲最好將視窗最大化後再進行抓取 # 原因:如果獲取的資料如果在視窗中沒有,可能會獲取不到 driver.maximize_window()

2.Selenium+PhantomJS(無介面瀏覽器)的組合使用

# 安裝:pip install selenium
# selenium的使用步驟: # 1. 匯入webdriver import time from selenium import webdriver from selenium.webdriver.common.keys import Keys # 2. 呼叫瀏覽器 driver = webdriver.PhantomJS(executable_path=r'D:\phantomjs-2.1.1-windows\bin\phantomjs.exe') # 3. 訪問網址 driver.get(url='https://www.baidu.com/') # 4. 方法及屬性 # 4.1 title 獲取網頁標題
# print(driver.title) # 4.2 current_url 獲取當前請求的URL # print(driver.current_url) # 4.3 page_source 獲取頁面內容 # print(driver.page_source) # 4.4 get_cookies() 獲取cookie # print(driver.get_cookies()) # 4.5 查詢元素 # 4.5.1 根據id查詢元素 # find_element_by_id('id值') # kw = driver.find_element_by_id('kw') # print(kw) # <selenium.webdriver.remote.webelement.WebElement (session="2362c650-d4bf-11eb-9f3d-0d52f2b7d981", element=":wdc:1624520297180")> # 4.5.2 根據class查詢元素 # find_element_by_class_name('類名') 查詢第一個符合類名的元素 # find_elements_by_class_name('類名') 返回列表,查詢所有符合類名的元素 # s_ipt = driver.find_elements_by_class_name('s_ipt') # print(s_ipt) # [<selenium.webdriver.remote.webelement.WebElement (session="805f3fa0-d4bf-11eb-946f-7fab7674449d", element=":wdc:1624520453128")>] # s_ipt = driver.find_element_by_class_name('s_ipt') # print(s_ipt) # 4.5.3 根據xpath來查詢元素 # find_element_by_xpath('xpath的路徑') # find_elements_by_xpath('xpath的路徑') # res = driver.find_element_by_xpath('//input[@id="kw"]') # print(res) # 4.6 text 獲取標籤之間的內容 # content = driver.find_element_by_id('s-top-left').text # content = driver.find_element_by_xpath('//div[@id="s-top-left"]').text # print(content) # 4.7 get_attribute('屬性名') # print(driver.find_element_by_id('kw').get_attribute('class')) # 4.8 截圖 # save_screenshot() # driver.save_screenshot('baidu.png') # 4.9 send_keys('輸入的內容') # 步驟: # 1.先獲取文字框 # 2.再輸入內容 # driver.find_element_by_xpath('//input[@id="kw"]').send_keys('金所炫') # driver.save_screenshot('輸入.png') # 4.10 click() 點選 # driver.find_element_by_id('su').click() # time.sleep(2) # driver.save_screenshot('點選.png') # 4.11 支援快捷鍵 driver.find_element_by_id('kw').send_keys('金所炫') driver.save_screenshot('全選之前.png') driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'a') driver.save_screenshot('全選.png') driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'x') driver.save_screenshot('剪下.png')