Невозможно найти ссылочный идентификатор, используя селен и питон - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь найти окно поиска с идентификатором as (search2) с веб-сайта. Мне удалось успешно войти на сайт, используя приведенный ниже код.

import requests
from tqdm import tqdm
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(executable_path=r'C:\chromedriver_win32\chromedriver.exe', chrome_options=options)
driver.implicitly_wait(30)
tgt = "C:\\mypath"
profile = {"plugins.plugins_list": [{"enabled":False, "name":"Chrome PDF Viewer"}],
    "download.default_directory" : tgt}
options.add_experimental_option("prefs",profile)
print(options)
driver.get("http://mylink.com/")
user=driver.find_element_by_id("username")
passw=driver.find_element_by_id("password")
user.send_keys("abc@xyz.com")
passw.send_keys("Pwd")
driver.find_element_by_xpath('/html/body/div[2]/div/div/div[2]/form/div[3]/button').click()
page=driver.find_element_by_id("search2")
print(page)

Код работает до сих пор, но как только я добавлю к нему ниже, я получаю сообщение об ошибке

page.send_keys("abc")

Я получаю следующую ошибку:

selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document

То, что я пытаюсь сделать здесь, - это войти на сайт, поискать некоторые элементы и загрузить результаты. Я уже пытался использовать неявные параметры ожидания, как указано в коде. Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 03 мая 2018

Добавление приведенного ниже фрагмента кода сделало свое дело. Пришлось перевести текущий поток в спящий режим, пока программа продолжит выполнение следующих шагов.

time.sleep(5)

Спасибо всем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...