def花 发表于 2020-8-26 15:28:20

安装Selenium


出现这个问题了怎么解决?

这个环境路径是什么是什么路径?

1q23w31 发表于 2020-8-26 16:11:00

第一个问题,换个python版本试试,
第二个问题,涉及到环境变量的配置,参考:https://www.cnblogs.com/htybky/p/11747367.html不会的话,另一种解决办法是将webdriver放在代码所在目录,

def花 发表于 2020-8-26 16:59:43

1q23w31 发表于 2020-8-26 16:11
第一个问题,换个python版本试试,
第二个问题,涉及到环境变量的配置,参考:https://www.cnblogs.com/hty ...

怎么更新python

1q23w31 发表于 2020-8-26 17:01:41

def花 发表于 2020-8-26 16:59
怎么更新python

python无法更新获取哦,只能卸载重新安装另一个版本

def花 发表于 2020-8-26 17:15:52

本帖最后由 def花 于 2020-8-26 17:21 编辑

1q23w31 发表于 2020-8-26 17:01
python无法更新获取哦,只能卸载重新安装另一个版本

Webdriver下什么版本的好

1q23w31 发表于 2020-8-26 17:36:31

def花 发表于 2020-8-26 17:15
Webdriver下什么版本的好

与你的浏览器版本相对应的,不然不能用

1q23w31 发表于 2020-8-27 08:33:54

@zltzlt 呼叫请求

zsnb1204 发表于 2020-8-27 11:42:08

我试了好多次,后来还是用Firefox,chrome搞不出来。Firefox的驱动路径要加到环境变量中(重点),Firefox的版本选 79.0.0.7506(我用的是这个版本,尝试过没有问题),建议你试试看

def花 发表于 2020-8-28 19:32:10

zsnb1204 发表于 2020-8-27 11:42
我试了好多次,后来还是用Firefox,chrome搞不出来。Firefox的驱动路径要加到环境变量中(重点),Firefox ...

怎么把Firefox的驱动路径要加到环境变量

kogawananari 发表于 2020-8-29 00:31:36

def花 发表于 2020-8-26 17:15
Webdriver下什么版本的好

都可以啦我推荐新edge浏览器呢 因为它的Webdriver版本与浏览器版本是一致的
其他浏览器经常遇到浏览器版本 > Webdriver版本 导致要重新下浏览器
如果是selenium 3.x的话 Edge浏览器需要多安装一个库 msedge-selenium-tools
其他的没什么区别{:5_102:}

def花 发表于 2020-8-29 08:56:54

kogawananari 发表于 2020-8-29 00:31
都可以啦我推荐新edge浏览器呢 因为它的Webdriver版本与浏览器版本是一致的
其他浏览器经常遇到浏览 ...

怎么才能用

kogawananari 发表于 2020-8-30 08:51:07

def花 发表于 2020-8-29 08:56
怎么才能用

下载msedgedriver.exe

用pip安装库
selenium==3.141
msedge-selenium-tools

demo: 登录哔哩哔哩

from msedge.selenium_tools import Edge, EdgeOptions
import json
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
MSEDGE_PATH = r"C:\Program Files (x86)\Microsoft\Edge Beta\Application\msedge.exe"

MSEDGE_DRIVER_PATH = './msedgedriver.exe'
COOKIES_JSON_PATH = './cookies.json'
#这个json文件可以用json.dumps(driver.get_cookies(), indent=2)生成
HREF = 'https://www.bilibili.com/'



def init_imitate_edge_driver() -> Edge:
    options = EdgeOptions()
    options.use_chromium = True
    options.binary_location = MSEDGE_PATH
    options.add_experimental_option('excludeSwitches', ['enable-automation'])
    driver = Edge(options=options, executable_path=MSEDGE_DRIVER_PATH)
    driver.execute_cdp_cmd(
      "Page.addScriptToEvaluateOnNewDocument", {
            "source":
            """
            Object.defineProperty(navigator, 'webdriver', {
                get: () => undefined
            })
      """
      })
    return driver

def add_default_cookies(driver: Edge,
                        domain: str = HREF,
                        cookies_json_path: str = COOKIES_JSON_PATH):
    driver.get(domain)
    with open(cookies_json_path, 'r') as cookies_json:
      for cookie in json.loads(cookies_json.read()):
            del cookie['domain']
            driver.add_cookie(cookie)

if __name__ == "__main__":
    driver = init_imitate_edge_driver()
    driver.get(HREF)
    #add_default_cookies(driver)
页: [1]
查看完整版本: 安装Selenium