Как улучшить: навигация по нескольким URL с помощью Python - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь перейти на несколько страниц и загрузить PDF-файлы с каждой из них.Страницы размещены на одном и том же сайте, просто разные URL, поэтому все загружаемые xpath-файлы одинаковы.Текущий код, который у меня есть, работает, но я новичок в Python, и я уверен, что есть более простой способ его консолидировать - просто не могу понять, как!

Я попытался использовать цикл for, но получил некоторые ошибки,

Это то, что я сейчас использую:

one ='urlone'
two = 'urltwo'
three = 'urlthree'

try:
    download = "C:/pathtodownload"
    driver = webdriver.Chrome('driver.exe', chrome_options=options)

    driver.get(one)
    driver.maximize_window()
    actions = driver.find_element_by_xpath('xpathhere')
    actions.click()
    time.sleep(4)

    driver.get(two)
    driver.maximize_window()
    actions = driver.find_element_by_xpath('xpathhere')
    actions.click()
    time.sleep(4)

    driver.get(three)
    driver.maximize_window()
    actions = driver.find_element_by_xpath('xpathhere')
    actions.click()
    time.sleep(4)

finally:
   driver.quit

Я верю, что смогу сделать что-то подобное, но я получаю сообщение об ошибке.WebDriverException: Сообщение: неизвестная ошибка: 'url' должен быть строкой

urls = ['urlone', 'urltwo', 'urlthree']

try:
    download = "C:/pathtodownload"
    driver = webdriver.Chrome('driver.exe', chrome_options=options)

for url in urls:
    driver.get(urls)
    driver.maximize_window()
    actions = driver.find_element_by_xpath('xpathhere')
    actions.click()
    time.sleep(4)

1 Ответ

1 голос
/ 14 мая 2019

Я нашел ошибку.

urls = ['urlone', 'urltwo', 'urlthree']

try:
    download = "C:/pathtodownload"
    driver = webdriver.Chrome('driver.exe', chrome_options=options)

for url in urls:
    driver.get(url) # Here I changed urls that you used in your code to url
    driver.maximize_window()
    actions = driver.find_element_by_xpath('xpathhere')
    actions.click()
    time.sleep(4)

В основном, используя URL в закомментированной строке, вы пытались заполнить весь список URL в методе .get (), который принимает только строку.

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