日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python对浏览器的常用操作有哪些_Python Selenium中对象常用操作方法

發布時間:2023/12/19 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python对浏览器的常用操作有哪些_Python Selenium中对象常用操作方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、webdriver 提供了一系列的對象定位方法,常用的有以下幾種:id定位:find_element_by_id()

name定位:find_element_by_name()

class定位:find_element_by_class_name()

link定位:find_element_by_link_text()

partial link定位:find_element_by_partial_link_text()

tag定位:find_element_by_tag_name()

xpath定位:find_element_by_xpath()

css定位:find_element_by_css_selector()

二、鼠標事件

webdriver 中比較常用的操作對象的方法有下面幾個:click——點擊對象

send_keys——在對象上模擬按鍵輸入

clear——清除對象的內容,如果可以的話

submit——提交對象的內容,如果可以的話

text——用于獲取元素的文本信息

一般包括鼠標右鍵、雙擊、拖動、移動鼠標到某個元素上等等。

需要引入ActionChains類。

引入方法:

from?selenium.webdriver.common.action_chains?import?ActionChainsActionChains?常用方法:

perform()??執行所有ActionChains?中存儲的行為;

context_click()??右擊;

double_click()???雙擊;

drag_and_drop()??拖動;

move_to_element()??鼠標懸停。#定位到要雙擊的元素

qqq =driver.find_element_by_xpath("xxx")

#對定位到的元素執行鼠標雙擊操作

ActionChains(driver).double_click(qqq).perform()#定位元素的原位置

element = driver.find_element_by_name("source")

#定位元素要移動到的目標位置

target = driver.find_element_by_name("target")

#執行元素的移動操作

ActionChains(driver).drag_and_drop(element, target).perform()

三、對鍵盤事件

from selenium.webdriver.common.keys import Keys通過 send_keys()調用按鍵:

send_keys(Keys.TAB)?#?TAB

send_keys(Keys.ENTER)?#?回車

#ctrl+a 全選輸入框內容

driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,’a’)

四、selenium add_argument 參數表

driver = webdriver.Chrome(options=chrome_options)

其中options設置有很多,常用的如下:

chrome_options.add_argument(‘–user-agent=””‘) # 設置請求頭的User-Agent

chrome_options.add_argument(‘–window-size=1280×1024’) # 設置瀏覽器分辨率(窗口大小)

chrome_options.add_argument(‘–start-maximized’) # 最大化運行(全屏窗口),不設置,取元素會報錯

chrome_options.add_argument(‘–disable-infobars’) # 禁用瀏覽器正在被自動化程序控制的提示

chrome_options.add_argument(‘–incognito’) # 隱身模式(無痕模式)

chrome_options.add_argument(‘–hide-scrollbars’) # 隱藏滾動條, 應對一些特殊頁面

chrome_options.add_argument(‘–disable-javascript’) # 禁用javascript

chrome_options.add_argument(‘–blink-settings=imagesEnabled=false’) # 不加載圖片, 提升速度

chrome_options.add_argument(‘–headless’) # 瀏覽器不提供可視化頁面

chrome_options.add_argument(‘–ignore-certificate-errors’) # 禁用擴展插件并實現窗口最大化

chrome_options.add_argument(‘–disable-gpu’) # 禁用GPU加速,如果不加這個選項,有時定位會出現問題

chrome_options.add_argument(‘–disable-software-rasterizer’)

chrome_options.add_argument(‘–disable-extensions’)

chrome_options.add_argument(‘–start-maximized’)

chrome_options.add_argument((‘–proxy-server=’ + ip)) 設置代理

其他的一些關于Chrome的實用參數及簡要的中文說明,使用方法同上4.5.4,當然也可以在shell中使用。

–user-data-dir=”[PATH]” 指定用戶文件夾User Data路徑,可以把書簽這樣的用戶數據保存在系統分區以外的分區。

–disk-cache-dir=”[PATH]“ 指定緩存Cache路徑

–disk-cache-size= 指定Cache大小,單位Byte

–first run 重置到初始狀態,第一次運行

–incognito 隱身模式啟動

–disable-javascript 禁用Javascript

–omnibox-popup-count=“num” 將地址欄彈出的提示菜單數量改為num個。我都改為15個了。

–user-agent=“xxxxxxxx” 修改HTTP請求頭部的Agent字符串,可以通過about:version頁面查看修改效果

–disable-plugins 禁止加載所有插件,可以增加速度。可以通過about:plugins頁面查看效果

–disable-javascript 禁用JavaScript,如果覺得速度慢在加上這個

–disable-java 禁用java

–start-maximized 啟動就最大化

–no-sandbox 取消沙盒模式

–single-process 單進程運行

–process-per-tab 每個標簽使用單獨進程

–process-per-site 每個站點使用單獨進程

–in-process-plugins 插件不啟用單獨進程

–disable-popup-blocking 禁用彈出攔截

–disable-plugins 禁用插件

–disable-images 禁用圖像

–incognito 啟動進入隱身模式

–enable-udd-profiles 啟用賬戶切換菜單

–proxy-pac-url 使用pac代理 [via 1/2]

–lang=zh-CN 設置語言為簡體中文

–disk-cache-dir 自定義緩存目錄

–disk-cache-size 自定義緩存最大值(單位byte)

–media-cache-size 自定義多媒體緩存最大值(單位byte)

–bookmark-menu 在工具 欄增加一個書簽按鈕

–enable-sync 啟用書簽同步

–single-process 單進程運行Google Chrome

–start-maximized 啟動Google Chrome就最大化

–disable-java 禁止Java

–no-sandbox 非沙盒模式運行

五、執行js

利用selenium的browser.execute_script()方法來執行上面的JS方法:

browser.execute_script(‘window.scrollBy(200,0)’)

六、一些常用的例子

1.獲取當前頁面的Url函數

方法:current_url

實例:

driver.current_url

2.獲取元素坐標

方法:location

解釋:首先查找到你要獲取元素的,然后調用location方法

實例:

driver.find_element_by_xpath(“//*[@id=’tablechart’]/tbody/tr[14]/td[9]”).location

3.表單的提交

方法:submit

解釋:查找到表單(from)直接調用submit即可

實例:

driver.find_element_by_id(“form1”).submit()

4.獲取CSS的屬性值

方法:value_of_css_property(css_name)

實例:

driver.find_element_by_css_selector(“input.btn”).value_of_css_property(“input.btn”)

5.獲取元素的屬性值

方法:get_attribute(element_name)

實例:

driver.find_element_by_id(“sellaiyuan”).get_attribute(“sellaiyuan”)

6.判斷元素是否被選中

方法:is_selected()

實例:

driver.find_element_by_id(“form1”).is_selected()

7.返回元素的大小

方法:size

實例:

driver.find_element_by_id(“iptPassword”).size

返回值:{‘width’: 250, ‘height’: 30}

8.判斷元素是否顯示

方法:is_displayed()

實例:

driver.find_element_by_id(“iptPassword”).is_displayed()

9.判斷元素是否被使用

方法:is_enabled()

實例:

driver.find_element_by_id(“iptPassword”).is_enabled()

10.獲取元素的文本值

方法:text

實例:driver.find_element_by_id(“iptUsername”).text

11.元素賦值

方法:send_keys(*values)

實例:

driver.find_element_by_id(“iptUsername”).send_keys(‘admin’)

注意如果是函數需要增加轉義符u,eg.

driver.find_element_by_id(“iptUsername”).send_keys(u’青春’)

12.返回元素的tagName

方法:tag_name

實例:

driver.find_element_by_id(“iptUsername”).tag_name

13.刪除瀏覽器所以的cookies

方法:delete_all_cookies()

實例:

driver.delete_all_cookies()

14.刪除指定的cookie

方法:delete_cookie(name)

實例:deriver.delete_cookie(“my_cookie_name”)

15.關閉瀏覽器

方法:close()

實例:driver.close()

16.關閉瀏覽器并且推出驅動程序

方法:quit()

實例:driver.quit()

17.返回上一頁

方法:back()

實例:driver.back()

18.設置等待超時

方法:implicitly_wait(wait_time)

實例:driver.implicitly_wait(30)

19.瀏覽器窗口最大化

方法:maximize_window()

實例:driver.maximize_window()

20.查看瀏覽器的名字

方法:name

實例:drvier.name

總結

以上是生活随笔為你收集整理的python对浏览器的常用操作有哪些_Python Selenium中对象常用操作方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。