硒没有检测到元素

2024-04-29 11:02:46 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我正在编写这个bot,使用selenium为我加入我的学校课程,我面临着这个问题,它进入我的会议页面,等待出现一个加入按钮并按下它。起初,它找不到它,所以我记不清时间的概念,我确保当它打开页面时,join按钮会在那里,所以我这样做了,甚至放了这行代码只是为了确保 join=WebDriverWait(driver,30).until(EC.presence_of_element_located((By.XPATH,"//span[contains(text(),'Join')]")))
但是它仍然找不到join按钮,或者按下它,即使眼睛可以看到它。如果你能告诉我如何找到它,我将在一个链接中链接页面源。我也不能使用href方法,因为它不是那样存储的。它只是这样存储的 https://i.stack.imgur.com/ldxY7.png
所以我真的很困惑,这几乎就像是一个不可见的元素,这很有趣,因为即使当我遇到错误时,我也会在inspect元素上使用控件F来检查我是否使用了正确的XPATH,我总是能找到它,所以我不明白为什么selenium帮不上忙,我想我只是错过了一些我不知道是什么

Page Source


Tags: 代码概念元素链接botselenium时间页面
2条回答

通过多次循环检查元素的存在,并在每次连续检查之间增加2/3秒的延迟,检查元素的存在。 一个来自python selenium的类比-

for i in range(5):
    l= driver.find_element_by_css_selector("#js-gdpr")
    time.sleep(5)

迭代父div下的所有元素,并使用唯一的文本/颜色验证它,然后访问它

我想你是在尝试谷歌会议自动化。在该网站中,“立即加入”按钮被声明为动态路径,因此,您可以使用库pyautogui

impor pyautogui as pg
for i in range(5):
    pg.press('tab')
time.sleep(2)
pg.press('enter')

此代码将帮助您找到“立即加入”按钮并单击它

相关问题 更多 >