Python+selenium 웹 페이지 에서 지정 한 좌표 의 인 스 턴 스 를 누 르 십시오.

예 를 들 어 일부 페이지 요 소 는 얻 기 어렵 지만 위치 가 고정 되 어 있 으 면 좌표 로 직접 조작 할 수 있다.
예 를 들 어 페이지 의(x:200,y:100)을 조작 하려 면 다음 과 같은 코드 를 사용 할 수 있 습 니 다.

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() #       , 200 x  , 100 y  
ActionChains(dr).move_by_offset(200, 100).context_click().perform() #       
실행 효과(우 클릭):

주의해 야 할 것 은 매번 이동 할 때마다 지난번 좌 표를 바탕 으로(즉,좌표 값 이 누적 되 었 다)하 는 것 이다.위의 코드 가 실제로 실 행 될 때 왼쪽 단 추 를 클릭 하고 오른쪽 단 추 를 누 르 면 좌 표 는(400,200)이 된다.
이러한 누적 을 패키지 로 상쇄 할 수 있 습 니 다(클릭 후 마우스 좌 표를 회복 합 니 다).코드 는 다음 과 같 습 니 다.

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

def click_locxy(dr, x, y, left_click=True):
  '''
  dr:   
  x:  x  
  y:  y  
  left_click:True       ,       
  '''
  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() #            

if __name__ == "__main__":
  dr = webdriver.Chrome()
  dr.get('http://www.baidu.com')
  click_locxy(dr, 100, 0) #     
  click_locxy(dr, 100, 100, left_click=False) #     
이상 의 Python+selenium 에서 웹 페이지 에 지정 한 좌 표를 클릭 한 실례 는 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 저희 도 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기