python3 selenium使用


其實這個就相當於模擬人的點擊事件來連續的訪問瀏覽器。如果你玩過王者榮耀的話在2016年一月份的版本里面就有一個bug。

安卓手機下載一個按鍵精靈就可以在冒險模式里面設置按鍵,讓手機自動玩闖關,一局19個金幣,一晚上就一個英雄了。不過

程序員也不是吃素的。給一個星期設置了大概4000金幣上限。有興趣的可以去試試。(注:手機需要root)

進入正題:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait

在寫之前需要下載selenium模塊

brguge=webdriver.Chrome()#聲明驅動對象
try:
    brguge.get('https://www.baidu.com')#發送get請求
    input=brguge.find_element_by_id('kw')#找到目標

    input.send_keys('python')#輸入python關鍵字
    input.send_keys(Keys.ENTER)#敲入回車
    wait=WebDriverWait(brguge,10)#等待元素加載出來
    wait.until(EC.presence_of_element_located(By.ID,'content_left'))#加載
    print(brguge.current_url)#輸出搜索的路徑
    print(brguge.get_cookie())#輸出cookie
    print(brguge.page_source)#輸出結果源代碼
finally:
    brguge.close()#關閉谷歌瀏覽器

下面是一些selenium模塊的基本用法

查找元素
單個元素 (from selenium import webdriver)
brguge.find_element_by_id('q')用這個元素找id是q的元素
brguge.find_element_by_css_selector('#q')找css樣式是q的
brguge.find_element_by_xpath('//*[ @id="q"]')三個效果一樣
brguge.find_element_by_name()通過name來查找
brguge.find_element_by_link_text()通過link來查找
brguge.find_element_by_partial_link_text()
brguge.find_element_by_tag_name()
brguge.find_element_by_class_name()通過class查找

from selenium import webdriver
from selenium.webdriver.common.by import By
brguge.find_element(By.ID,'Q')通用查找方式
多個元素(find_elements)加了個s
他會以列表的形式打印出來
brguge.find_elements_by_css_selector('.service-bd li')css樣式為li的元素
brguge.find_elements(By.css_selector,'.service-bd li')兩個作用一樣
(利用索引就可以獲取單個或多個元素了)

元素交互操作(獲取元素然后再給他指令)
選擇輸入框 --》send_keys('輸入文字')--》clear()清空輸入框--在輸入別的--》找到搜索--》click(點擊)
input.clear()清空按鈕
交互動作(將動作附加到動作鏈中串行執行)
switch_to_frame('iframeResult')
用css樣式分別找到兩個要交互
調用ActionChains(調用谷歌的)
drag_and_drop(source,target)第一個到第二個上面
perform()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM