selenium自動化測試

對應於webdriver中的定位方法分別是:
driver.find_element_by_name()——最經常使用,簡單
driver.find_element_by_id()——最經常使用,簡單
driver.find_element_by_class_name()
driver.find_element_by_tag_name()——最不靠譜
driver.find_element_by_link_text()——定位文字鏈接好用
driver.find_element_by_partial_link_text()——定位文字鏈接好用
driver.find_element_by_xpath()——最靈活,萬能  (我最擅長)
driver.find_element_by_css_selector()
話很少說,上代碼:css

我本身寫的小例子。僅供參考。html

下載對應的谷歌驅動,放在本身的的谷歌目錄裏面。而後寫入環境變量。python

#!usr/bin/env python
#-*- coding:utf-8 _*-
"""
@author:wujf
@file: 例子.py
@time: 2019/11/04
"""
from selenium import webdriver
import time
driver = webdriver.Chrome(r'C:\Users\lenovo\AppData\Local\Google\Chrome\Application\chromedriver.exe')  
driver.maximize_window() #最大化瀏覽器
driver.implicitly_wait(23) #隱式等待
url = "http://www.igxpt.com"
driver.get(url)
driver.find_element_by_xpath('//div[@class="input-wrap"]/input').send_keys('筆記本')  #這裏我找到輸入框模擬輸入「筆記本」
driver.find_element_by_xpath('//div[@class="input-wrap"]/button').click()  #我找到搜索模擬點擊搜索

# driver 獲取html字符串
print(driver.page_source) #當前網頁內容
with open('1.html','w',encoding='gb18030' ) as f:     #這裏我計入encoding= 'gb18030'是爲了解決中文亂碼問題  
f.write(driver.page_source)
print(driver.current_url) #當前網頁連接

  經過寫這個小例子,我發現python3的編碼方式真的是讓人頭疼,幾乎大部分時間都要解決獲取來的內容編碼問題。只要是涉及到中文,或多或少會出現編碼的問題。web

相關文章
相關標籤/搜索