Selenium打开网页时URL被强制转小写致无结果,求解决方法
解决方法
直接使用小写参数的URL发起请求
既然网站会自动将URL参数转为小写,先直接构造全小写参数的URL测试是否能返回结果:from selenium import webdriver driver = webdriver.Chrome("chromedriver.exe") driver.implicitly_wait(1) # 使用全小写参数的URL driver.get("https://www.vivaticket.com/it/search?categoryid=10&provincecode=bo")如果手动在浏览器打开这个URL也没有结果,说明
categoryid=10和provincecode=bo的组合确实没有匹配活动,需要确认分类ID或省份代码的正确值(比如省份代码是否应该保留大写,但网站转小写导致匹配失败)。模拟手动搜索流程替代直接访问URL
绕过URL参数转换的问题,完全模拟用户手动操作搜索:from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import Select import time driver = webdriver.Chrome("chromedriver.exe") driver.implicitly_wait(5) # 打开搜索页面 driver.get("https://www.vivaticket.com/it/search") # 选择对应分类(需根据页面实际元素ID调整) category_select = Select(driver.find_element(By.ID, "categoryId")) category_select.select_by_value("10") # 选择对应省份(需根据页面实际元素ID调整) province_select = Select(driver.find_element(By.ID, "provinceCode")) province_select.select_by_value("BO") # 触发搜索(需根据页面搜索按钮的定位方式调整) driver.find_element(By.CLASS_NAME, "search-button").click() time.sleep(2)这种方式完全贴合真实用户操作路径,避免URL参数自动转换带来的问题。
添加真实浏览器请求头
部分网站会根据请求头识别非真实浏览器请求,导致页面处理异常,可以给Selenium添加真实的User-Agent:from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.add_argument("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36") driver = webdriver.Chrome("chromedriver.exe", options=options) driver.implicitly_wait(1) driver.get("https://www.vivaticket.com/it/search?categoryId=10&provinceCode=BO")验证参数组合的有效性
手动在浏览器中打开原始驼峰参数的URL,观察是否会被重定向到小写参数页面且无结果。如果手动操作也无结果,说明该分类和省份的组合确实没有活动数据,需要确认参数值是否正确(比如分类ID对应的活动类型、省份代码的正确格式)。
内容的提问来源于stack exchange,提问作者frquestions
相关产品推荐
相关产品推荐

