Затем я хочу в том же всеобъемлющем цикле перебрать второй список URL-адресов и найти определенную часть информации.
Насколько я понимаю, это должно сработать, поскольку driver.get() должен обновиться, но мой второй цикл никогда ничего не возвращает, и при просмотре драйвера он, похоже, даже не открывает URL-адреса во втором цикле.
Вот упрощенный пример моего кода:
Код: Выделить всё
import selenium
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
urls_list = ['https://example.com', 'https://example1.com']
for url in urls_list:
try:
driver.get(url)
element_id= "some_interesting_text"
Output_A = driver.find_element(By.ID, element_id)
#waits until list loads
Class_of_url_list = "HereIsAListofHyperlinks"
List_of_Urls = driver.find_element(By.ID, Class_of_url_list)
List_of_Urls = [x for x in List_of_Urls if "ThisIsABadLink" not in x]
#extracts information
final_information = []
for link in List_of_Urls:
driver.get(link)
#some sleep so it loads
time.sleep(5)
information = driver.find_element(By.CSS_SELECTOR, "[data-testid='HereIsWhatYouWant']")
final_information.append(information.text)
#saves results in dict
results = {
"Url" : url,
"First Outpur" : Output_A.text,
"The more you know" : final_information
}
except Exception as exc:
print(exc)
driver.close()
При просмотре драйвера ссылки в List_of_Urls, похоже, не открываются.
Подробнее здесь: https://stackoverflow.com/questions/798 ... -over-urls
Мобильная версия