Selenium получает URL-адрес ответа от сервера - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь получить адрес URL-адреса от сервера 'zumi' с python selenium.

например: 'https://www.zumi.pl/2421025,Marcin_Piatek_Pimar,Warszawa,firma.html#homePage'

, когда я набираю ниже в браузере:

'https://www.zumi.pl/2421025,a,a,firma.html'

я получаю ответ выше.

Теперь я пытаюсь получить этот ответ с помощью python selenium:

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-sandbox')
browser = webdriver.Chrome(chrome_driver, options=chrome_options)
url = 'https://www.zumi.pl/2421025,a,a,firma.html'
browser.get(url)

current_url = browser.current_url

как обработать это, чтобы получить правильный ответкак: 'https://www.zumi.pl/2421025,Marcin_Piatek_Pimar,Warszawa,firma.html#homePage'

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Это должно решить ваши проблемы без создания второго сеанса браузера:

from selenium import webdriver
import time
import traceback

browser = webdriver.Chrome("/usr/bin/chromedriver")


url = 'https://www.zumi.pl/2421025,a,a,firma.html'
browser.get(url)
time.sleep(4)

try:

    button = browser.find_elements_by_css_selector('.cmp-closebutton_hasBorder >svg > path')
    button[0].click()

except Exception as e:
    print(e)
    print(traceback.print_exc())

Где cmp-closebutton_hasBorder является классом тега закрытия диапазона заголовка модели

Я тестировал на Ubuntu-18.04 и chrome-browser-74.0

0 голосов
/ 13 мая 2019

Я нахожу решение с помощью:

https://tarunlalwani.com/post/reusing-existing-browser-session-selenium/

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-sandbox')
browser = webdriver.Chrome(chrome_driver, options=chrome_options)
url = 'https://www.zumi.pl/Drukarnie+Bartk%C3%B3w,namapie.html'
browser.get(url)

# get browser session parameters
executor_url = browser.command_executor._url
session_id = browser.session_id

# create remote second browser with session data from first one
browser_session = webdriver.Remote(command_executor=executor_url, desired_capabilities=desired_capabilities)
browser_session.session_id = session_id

# url for response
url2 = 'https://www.zumi.pl/3108553,a,a,firma.html'

# get response from url2
browser_session.get(url2)
proper_url = browser_session.current_url
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...