首页 > 解决方案 > 我想 selenium 判断页面上的一些文字,返回 true,no false

问题描述

我想 selenium 判断页面上的一些文字,返回 true,no false

例如,我创建了一个函数来确定某段文本是否出现在网页上。如果出现此文本,则返回“true”,否则返回“flase”。但是我不知道如何使用'selenium'来写这个,下面的代码是我试图写的。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
n=1
driver = 
webdriver.Chrome('F:\pythonjiaoben\chromedriver_win32\chromedriver.exe')
driver.get('this is my game url')
def is_text(a):
    try:
       s=driver.find_element_by_link_text(a)
       return True
    except Exception as e:
        return False

elem=driver.find_element_by_partial_link_text("地狱之门[永恒]")
elem.click()
driver.implicitly_wait(10)
while(n>0):
    if is_text("您点击的太快了,请等会再刷新!"):
        elem=driver.find_element_by_partial_link_text("返回游戏")
        elem.click()
        continue
    if is_text("进入世界"):
        elem=driver.find_element_by_partial_link_text("进入世界")
        elem.click()
        continue
    break

它显示了这些错误

回溯(最近一次通话最后):
  文件“jiaoben.py”,第 24 行,在
    elem.find_element_by_partial_link_text("进入世界")
  文件“C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\webelement.py”,第 273 行,在 find_element_by_partial_link_text
    return self.find_element(by=By.PARTIAL_LINK_TEXT, value=link_text)
  文件“C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\webelement.py”,第 653 行,在 find_element
    {“使用”:按,“价值”:价值})['价值']
  _execute 中的文件“C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\webelement.py”,第 628 行
    return self._parent.execute(命令,参数)
  执行中的文件“C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 312 行
    self.error_handler.check_response(响应)
  文件“C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py”,第 242 行,在 check_response
    引发异常类(消息、屏幕、堆栈跟踪)
selenium.common.exceptions.StaleElementReferenceException:消息:过时的元素引用:元素未附加到页面文档

标签: seleniumselenium-webdriverselenium-chromedriver

解决方案


推荐阅读