Я пытаюсь открыть URL, найденный на основе link_text
в цикле. Ниже приведена программа, которую я пытаюсь использовать.
На самом деле, что происходит, фактически на этой странице у меня есть детали 3 раза, иногда это будет 4 раза (это динамично).
Обновленный код:
from selenium.webdriver.support import ui
import time
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.common.exceptions import NoSuchElementException
from selenium import webdriver
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(chrome_options=options, executable_path='C:\chromedriver_win32\chromedriver.exe')
driver.maximize_window()
driver.get("https://xxxxxx/blogs/")
if driver.find_element_by_xpath("(//span[@class='ui-datepicker-month'][contains(.,'May')])[1]"):
# get the number of details to click
addr = driver.find_elements_by_link_text('Details')
urls = [v.get_attribute("href") for v in addr]
for x in range(1, len(urls) + 1):
driver.execute_script("window.open();")
driver.switch_to.window(driver.window_handles[x])
driver.get(urls[x - 1])`
Вывод:
Работает правильно, откройте все подробности в новых вкладках.
Обновление 2:
Согласно коду Дмитрия Т, теперь он работает, открывая все подробности в новых вкладках :) спасибо за помощь. Последнее, что я хотел бы попробовать, это цикл datepicker, я жестко закодировал дату как //span[@class='ui-datepicker-month'][contains(.,'May')])[1]"
в мае месяце. Как я могу пройти через это, т.е. нажимать на каждый день означает. нажмите 1 мая, откройте все «подробности» href в каждой новой вкладке, снова перейдите на главный URL, нажмите 2 мая, сделайте то же самое ... откройте все «подробности» href в новых вкладках ... и так далее .. Я я пытаюсь написать код ... сообщить результаты. спасибо вам эксперты.