吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2129|回复: 17
收起左侧

[Python 转载] selenium 自动化操作无法定位元素

[复制链接]
GiaoMan-wei 发表于 2021-2-4 10:08
最终目的是想刷评论和签到的~
目标评论网址:http://bbs.picovr.com/#/details?id=16294【后期会通过id后面的数字进行】【能解决这个就已经很感谢了
目标签到网址:http://bbs.picovr.com/#/signIn【可能需要你注册一下】【这个能解决最好,,】

目前是走到了自动登录账号,有评论权限了。【源代码已放置末尾】

能力有限,没有实现在本页面登录后,绕来绕去去找评论贴再评论,所以是新打开标签页,通过点击头像便可刷新,实现账户同步【我也是卡住之后点击发现的,具体是不是我也不清楚。。】

1、登陆成功后,有第二个评论标签页弹出,问题:无法定位头像元素.click(),并实现网页刷新-账户信息同步过来-就可以评论(了吧?)



2、开始评论,问题:想要定位评论框的元素并实现点击后输入内容,也是一直报【no such element: Unable to locate element:xxx】




[Python] 纯文本查看 复制代码
''' 网页自动化'''
#引入selenium库中的 webdriver 模块
from selenium import webdriver
import time

#打开谷歌浏览器
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get('https://passport.picovr.com/login')



''' 手动模拟登陆'''
driver.find_element_by_id('username').click()
driver.find_element_by_id('username').send_keys('xxx')

driver.find_element_by_id('password').click()
driver.find_element_by_id('password').send_keys('xxx')

driver.find_element_by_xpath('//*[@for="remember"]').click()
driver.find_element_by_class_name("submit").click()

print(driver.get_cookies())

''' 加载第二个页面是否记录'''
time.sleep(2)
js = "window.open('http://bbs.picovr.com/#/details?id=16294')"
driver.execute_script(js)
print(driver.get_cookies())

# time.sleep(20)
# driver.get('http://bbs.picovr.com/#/details?id=16294')
# driver.refresh()            # 对当前页面进行刷新
# time.sleep(2)
# driver.refresh()            # 对当前页面进行刷新

time.sleep(20)
# driver.find_element_by_xpath('//*[@class="el-dropdown-link get-hand el-dropdown-selfdefine  "]').click()
driver.find_element_by_class_name("el-dropdown-link get-hand el-dropdown-selfdefine  ").click()
无标题.png
微信图片_20210204100618.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Test_dada 发表于 2021-2-4 11:58
GiaoMan-wei 发表于 2021-2-4 11:45
大佬~知道这是什么问题么?

你打印当前页的driver.title
看看是不是评论页面那个title:Pico官方社区论坛 - Pico虚拟现实

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
GiaoMan-wei + 1 + 1 感谢大佬!!!!!找到问题所在了!!!

查看全部评分

Test_dada 发表于 2021-2-4 14:33
GiaoMan-wei 发表于 2021-2-4 13:58
好像还真不是你那个。是【 Pico Neo 开发者版 VR一体机 | Imagine A New Reality  】~为什么呀
...

不是的话,你就要获取当前所有的句柄:Handles = driver.window_handles
然后循环for i in Handles ,判断这个i.title = 'Pico官方社区论坛 - Pico虚拟现实'时
跳转
[Python] 纯文本查看 复制代码
Handles = driver.window_handles
for i in Handles:
    if i.title = 'Pico官方社区论坛 - Pico虚拟现实':
          driver.switch_to.window(i)


xutongle 发表于 2021-2-5 01:47
 楼主| GiaoMan-wei 发表于 2021-2-4 13:58
本帖最后由 GiaoMan-wei 于 2021-2-4 14:00 编辑
Test_dada 发表于 2021-2-4 11:58
你打印当前页的driver.title
看看是不是评论页面那个title:Pico官方社区论坛 - Pico虚拟现实

好像还真不是你那个。是【 Pico Neo 开发者版 VR一体机 | Imagine A New Reality  】~为什么呀


是不是因为我底下查找的内容一直都是我第一个标签的,而不是第二个标签~~??
 楼主| GiaoMan-wei 发表于 2021-2-4 11:45

大佬~知道这是什么问题么?

Test_dada 发表于 2021-2-4 11:37
GiaoMan-wei 发表于 2021-2-4 11:35
都是报元素定位不了

我也是醉了,,明明看的到的。。

你页面跳来跳去的话,可能是窗口切换的问题
Test_dada 发表于 2021-2-4 11:35
GiaoMan-wei 发表于 2021-2-4 11:28
这个也是无法定位到。

另外想问大佬一下,,这个相对定位可以跳过中间的div结构是么?

试了可以
PW643M)D5YEEYCZ%Y`017M4.png
 楼主| GiaoMan-wei 发表于 2021-2-4 11:35
Test_dada 发表于 2021-2-4 11:28
sleep(2)
driver.find_element_by_xpath("//textarea[@autocomplete='off']").click()

都是报元素定位不了

我也是醉了,,明明看的到的。。
 楼主| GiaoMan-wei 发表于 2021-2-4 11:28
Test_dada 发表于 2021-2-4 11:22
driver.find_element_by_xpath("//textarea").click()
评论的

这个也是无法定位到。

另外想问大佬一下,,这个相对定位可以跳过中间的div结构是么?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 19:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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