Я хотел бы, чтобы селен судил некоторый текст на странице, возвращал истину, но не ложь - PullRequest
0 голосов
/ 29 апреля 2018

Я бы хотел, чтобы селен оценивал какой-то текст на странице, возвращал true, без 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

Показывает эти ошибки

Traceback (most recent call last):
  File "jiaoben.py", line 24, in 
    elem.find_element_by_partial_link_text("进入世界")
  File "C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\webelement.py", line 273, in find_element_by_partial_link_text
    return self.find_element(by=By.PARTIAL_LINK_TEXT, value=link_text)
  File "C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\webelement.py", line 653, in find_element
    {"using": by, "value": value})['value']
  File "C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\webelement.py", line 628, in _execute
    return self._parent.execute(command, params)
  File "C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...