亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python+selenium點(diǎn)擊網(wǎng)頁(yè)上指定坐標(biāo)的實(shí)例

 更新時(shí)間:2019年07月05日 15:46:46   作者:幼兒園二園長(zhǎng)  
今天小編就為大家分享一篇Python+selenium點(diǎn)擊網(wǎng)頁(yè)上指定坐標(biāo)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

例如有些頁(yè)面元素很難獲取,但是位置很固定,那么可以直接用坐標(biāo)來(lái)進(jìn)行操作

例如要對(duì)頁(yè)面上的(x:200, y:100)進(jìn)行操作,可以用如下代碼:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

dr = webdriver.Chrome()
dr.get('http://www.baidu.com')
ActionChains(dr).move_by_offset(200, 100).click().perform() # 鼠標(biāo)左鍵點(diǎn)擊, 200為x坐標(biāo), 100為y坐標(biāo)
ActionChains(dr).move_by_offset(200, 100).context_click().perform() # 鼠標(biāo)右鍵點(diǎn)擊

運(yùn)行效果(右鍵):

需要注意的是,每次移動(dòng)都是在上一次坐標(biāo)的基礎(chǔ)上(即坐標(biāo)值是累積的),如上的代碼實(shí)際運(yùn)行時(shí),點(diǎn)擊完左鍵再點(diǎn)擊右鍵,坐標(biāo)會(huì)變成(400, 200)。

可以用封裝來(lái)抵消這種累積(點(diǎn)擊完之后將鼠標(biāo)坐標(biāo)恢復(fù)),代碼如下:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

def click_locxy(dr, x, y, left_click=True):
  '''
  dr:瀏覽器
  x:頁(yè)面x坐標(biāo)
  y:頁(yè)面y坐標(biāo)
  left_click:True為鼠標(biāo)左鍵點(diǎn)擊,否則為右鍵點(diǎn)擊
  '''
  if left_click:
    ActionChains(dr).move_by_offset(x, y).click().perform()
  else:
    ActionChains(dr).move_by_offset(x, y).context_click().perform()
  ActionChains(dr).move_by_offset(-x, -y).perform() # 將鼠標(biāo)位置恢復(fù)到移動(dòng)前

if __name__ == "__main__":
  dr = webdriver.Chrome()
  dr.get('http://www.baidu.com')
  click_locxy(dr, 100, 0) # 左鍵點(diǎn)擊
  click_locxy(dr, 100, 100, left_click=False) # 右鍵點(diǎn)擊

以上這篇Python+selenium點(diǎn)擊網(wǎng)頁(yè)上指定坐標(biāo)的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論