鱼C论坛

 找回密码
 立即注册
查看: 2965|回复: 8

[已解决]selenium 点击无效问题

[复制链接]
发表于 2022-10-6 11:45:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. from selenium.webdriver.chrome.options import Options
  4. from selenium.webdriver.support.ui import WebDriverWait
  5. from selenium.webdriver.chrome.service import service
  6. import time
  7. from selenium.webdriver.support import expected_conditions as ec
  8. opt = Options()
  9. #opt.add_argument('--headless')

  10. opt.add_experimental_option('excludeSwitches',['enable-automation'])
  11. driver = webdriver.Chrome(options=opt)
  12. driver.get('https://bancang.cn/')
  13. time.sleep(3)
  14. driver.find_element(By.XPATH,"//taro-text-core[@class='hydrated']").click()
复制代码


我想点击网页中的“我的”,我这样写运行无效,为什么
最佳答案
2022-10-6 12:40:17
xyh2695368537 发表于 2022-10-6 12:14
点击“我的”,它才会跳转到登陆啊

我测试没问题
  1. drv=wd.Chrome()
  2. drv.maximize_window()
  3. url="https://bancang.cn/"
  4. drv.get(url)
  5. time.sleep(1)
  6. zdgl=drv.find_element(By.XPATH,"//*[@id='/pages/index/index']/taro-view-core/taro-view-core[5]/taro-view-core[2]/taro-view-core[3]")
  7. zdgl.click()
复制代码

两个原因,要么就是你的元素还没有渲染时  你进行了点击操作(此时适当的sleep一下,或者还有一个直到xxx元素出现才做xxx的一个方法)
要么就是你的xpath 是错误的
QQ浏览器截图20221006114451.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-10-6 11:48:40 From FishC Mobile | 显示全部楼层
木有登录啊,我的   不得登录才有
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-6 12:14:10 | 显示全部楼层
wp231957 发表于 2022-10-6 11:48
木有登录啊,我的   不得登录才有

点击“我的”,它才会跳转到登陆啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-6 12:40:17 | 显示全部楼层    本楼为最佳答案   
xyh2695368537 发表于 2022-10-6 12:14
点击“我的”,它才会跳转到登陆啊

我测试没问题
  1. drv=wd.Chrome()
  2. drv.maximize_window()
  3. url="https://bancang.cn/"
  4. drv.get(url)
  5. time.sleep(1)
  6. zdgl=drv.find_element(By.XPATH,"//*[@id='/pages/index/index']/taro-view-core/taro-view-core[5]/taro-view-core[2]/taro-view-core[3]")
  7. zdgl.click()
复制代码

两个原因,要么就是你的元素还没有渲染时  你进行了点击操作(此时适当的sleep一下,或者还有一个直到xxx元素出现才做xxx的一个方法)
要么就是你的xpath 是错误的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-6 13:18:14 | 显示全部楼层
wp231957 发表于 2022-10-6 12:40
我测试没问题

两个原因,要么就是你的元素还没有渲染时  你进行了点击操作(此时适当的sleep一下,或 ...

对的,你这样可以有效点击,我想知道怎么用属性定位

我用xpath定位,运行没有报错,说明定位到了这个元素并点击成功了,可为啥就是不跳转
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-6 13:21:11 | 显示全部楼层
xyh2695368537 发表于 2022-10-6 13:18
对的,你这样可以有效点击,我想知道怎么用属性定位

我用xpath定位,运行没有报错,说明定 ...

啥叫属性定位啊  比较靠谱的就是 id  定位  xpath定位
再有,运行没报错  不等于定位成功
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-6 13:24:29 | 显示全部楼层
wp231957 发表于 2022-10-6 12:40
我测试没问题

两个原因,要么就是你的元素还没有渲染时  你进行了点击操作(此时适当的sleep一下,或 ...

解决了!我往上找了下,发现我定位的元素都不唯一
除了图片的scr不一样,其他元素都不唯一
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-6 13:31:59 From FishC Mobile | 显示全部楼层
xyh2695368537 发表于 2022-10-6 13:24
解决了!我往上找了下,发现我定位的元素都不唯一
除了图片的scr不一样,其他元素都不唯一

class允许重复,所以class定位是不靠谱的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-6 14:13:21 | 显示全部楼层
wp231957 发表于 2022-10-6 13:31
class允许重复,所以class定位是不靠谱的

好的,记住了,感谢!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-24 20:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表