selenium 不升级到本地版本而保持原始页面打开

csga3l58  于 2023-02-23  发布在  其他
关注(0)|答案(1)|浏览(183)

每天早上我都打开这个网站看当天的游戏,但我喜欢看国际版(https://int.),因为我不喜欢巴西版(https://br.)。
但每当我通过WebDriver打开它时,因为它不知道我喜欢这样(在我的普通浏览器中,首选项已经保存,我不需要调整它),他在int版本中打开它,但它自动转换为br版本。
要解决这个问题,我能找到的唯一方法是让WebDriver打开同一个页面两次(这样它就可以注册我想使用的版本):

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.firefox.service import Service
from os import path

def web_driver():
    service = Service(log_path=path.devnull)
    options = Options()
    options.set_preference("general.useragent.override", my_user_agent)
    options.page_load_strategy = 'eager'
    driver = webdriver.Firefox(options=options,service=service)
    return driver

driver = web_driver()
driver.get("https://int.soccerway.com/")
driver.get("https://int.soccerway.com/")

当页面加载时间过长时,这会导致问题,因为我永远不知道它何时已经更新或何时将更新,使我在激活第二个driver.get后,在页面上生成移动或点击,返回到页面顶部。
我如何继续打开页面,并且它将始终保持在我最初想要的版本?
我试着在cookies中找到我应该使用哪个来传递,但是我不明白使用哪个以及是否使用。

ruarlubt

ruarlubt1#

一种方法是打开URL并将国家/地区更改为Internationall。请参阅以下代码:

# Open the below URL
driver.get('https://int.soccerway.com/')
# wait applied
driver.implicitly_wait(1)
# below line clicks the AGREE button on the pop-up
driver.find_element(By.XPATH, "//span[text()='AGREE']").click()
# below line clicks country selection button
driver.find_element(By.XPATH, "//*[@id='site-header']/div/div/span[1]/span").click()
# below line clicks English International
driver.find_element(By.XPATH, "//a[@href='https://int.soccerway.com']").click()
# below line clicks the AGREE button on the pop-up
driver.find_element(By.XPATH, "//span[text()='AGREE']").click()

**更新:**以下代码使用现有的默认浏览器配置文件。

options = webdriver.ChromeOptions()
options.add_argument(
    "user-data-dir=C:\\Users\\username\\AppData\\Local\\Google\\Chrome\\User Data\\Default")
driver = webdriver.Chrome(executable_path="<give path here>\\chromedriver.exe",
                          chrome_options=options)

driver.maximize_window()

# Open the below URL
driver.get('https://int.soccerway.com/')

相关问题