舟觉 2022-10-10 08:44 采纳率: 100%
浏览 52
已结题

qq音乐左右按钮定位,怎么也点不到的元素

问题遇到的现象和发生背景

想定位qq音乐左右按钮,这个按钮只有移动到一定位置才会出现,我的代码只有左滑按钮

img

用代码块功能插入代码,请勿粘贴截图
import time

from selenium import webdriver
from selenium.webdriver import ActionChains

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://y.qq.com/')
time.sleep(3)
ele = driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/a/i[1]')
element = driver.find_element_by_xpath('//*[@id="content"]/div[1]/div[3]/ul/li[1]/div/div[1]/a/i[1]')
ActionChains(driver).move_to_element(element).move_to_element(ele).click().perform()
#想尝试坐标定位
#ActionChains(driver).move_by_offset(12,390).click().perform()

运行结果及报错内容

没报错,但点不到

img

  • 写回答

2条回答 默认 最新

  • GavinHaydy 2022-10-13 16:13
    关注
    import time
    
    from selenium import webdriver
    from selenium.webdriver import ActionChains
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get('https://y.qq.com/')
    time.sleep(3)
    
    # 加这行  鼠标悬停到特定区域后按钮才会出现 
    ActionChains(driver).move_to_element(driver.find_element_by_id('content')).perform()
    
    ele = driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/a/i[1]')
    element = driver.find_element_by_xpath('//*[@id="content"]/div[1]/div[3]/ul/li[1]/div/div[1]/a/i[1]')
    
    # 循环和等待是为了看效果
    for i in range(3):
        ActionChains(driver).move_to_element(element).move_to_element(ele).click().perform()
    time.sleep(3)
    #想尝试坐标定位
    #ActionChains(driver).move_by_offset(12,390).click().perform()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • Ko-walski 2022-10-10 09:29
    关注

    亲测这样可以你试试

    import time
    
    from selenium import webdriver
    from selenium.webdriver import ActionChains
    from selenium.webdriver.common.by import By
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get('https://y.qq.com/')
    time.sleep(3)
    # ele = driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/a/i[1]')
    element = driver.find_element(By.XPATH, '//*[@id="content"]/div[2]/div[1]/a')
    ActionChains(driver).move_to_element(element).click().perform()
    # 想尝试坐标定位
    # ActionChains(driver).move_by_offset(12,390).click().perform()
    
    
    
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月24日
  • 已采纳回答 10月16日
  • 创建了问题 10月10日

悬赏问题

  • ¥30 各位help写一下代码
  • ¥15 在运行SDEdit模型下载不了
  • ¥15 求51控制l298n驱动的小车中超声波避障怎么写
  • ¥15 电脑连上WIFI却用不了
  • ¥30 MATLAB在RLC电路的固有响应和阶跃响应GUI仿真报告
  • ¥15 hyper-v出现的问题
  • ¥15 有能用的可加酬金,求可以批量下载懒人听书的软件,能登录自己帐号的。
  • ¥100 高博一起做RGB-D SLAM(5)VO无法出visualisation问题
  • ¥15 使用matlab进行手眼标定的仿真验证,得到齐次矩阵与opencv相差较大
  • ¥15 求推荐一个好用的录屏软件