Не дождался загрузки сайта в селен - PullRequest
0 голосов
/ 07 сентября 2018

Я выполнил:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
import time

print("Opening...")
driver = webdriver.Chrome()
driver.get('https://google.com')
driver.execute_script("window.open('https://www.yahoo.com');") #New tab
search = driver.find_element_by_xpath("//input[@type='text' and @id='uh-search-box']")
search.send_keys('Hello')

Дала мне ошибку:

selenium.common.exceptions.NoSuchElementException: Сообщение: нет такого element: Невозможно найти элемент: {"method": "xpath", "selector": "// input [@ type = 'text' and @i d = 'эм-розыскная ящик'] "}

Эта ошибка была из-за того, что она не завершила загрузку в chrome и выполнила дополнительные коды ...

Как от этого избавиться?

Как дождаться загрузки и выполнить дальнейший скрипт ... ( Точно так же, как это было для первой вкладки, google.com)?

1 Ответ

0 голосов
/ 07 сентября 2018

Попробуйте перейти в новое окно, как показано ниже:

current = driver.current_window_handle
driver.execute_script("window.open('https://www.yahoo.com');") #New tab
new_window = [window for window in driver.window_handles if window != current][0] # Get new tab ID
driver.switch_to.window(new_window) # Switch to new tab
search = driver.find_element_by_xpath("//input[@type='text' and @id='uh-search-box']")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...