win环境下selenium设置webdriver.exe的相对路径

 将selenium的webdriver文件放到resources文件夹下,并使用相对路径配置selenium使其通适

这样做的好处是统一了路径在不同的电脑可以不再修改代码中webdriver的路径

缺点是webdriver的版本要和Chrome的版本一致

        String osName = System.getProperties().getProperty("os.name");
        if (!osName.equals("Linux")) {
            // 这里配置Chromedriver的位置 根据自己的项目设置即可,我将我的EXE文件放到了resources下面
            System.setProperty("webdriver.chrome.driver", "web-data-collect/src/main/resources/file/chromedriver.exe");

        }

 

解释:代码首先判断了是否是win环境,如果是win环境就设置代码所示路径即可

 

备注:如果报错可以根据错误日志提示的问题,修改路径即可,我尝试替换绝对路径的时候首先使用了这个文件的绝对路径运行成功来验证功能正常,然后替换为相对路径,替换过程中路径字符串一开始没有项目名,报错了,然后查看错误日志,日志提示的路径是绝对路径,和验证成功的绝对路径比较调整就得到了正确的相对路径。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By options = webdriver.ChromeOptions() options.add_argument('--ignore-certificate-errors') options.add_experimental_option('excludeSwitches', ['enable-automation']) options.add_argument("--disable-blink-features=AutomationControlled") options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度 # options.add_argument('--headless') # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败 options.binary_location = './chrome-win/chrome.exe' driver_path = Service("chromedriver.exe") driver = webdriver.Chrome(service=driver_path, options=options) # 打开网站 print('正在登录!') driver.get('http://www.weather.com.cn/jiangsu/index.shtml') elements = driver.find_elements(By.XPATH, '''//*[@id="forecastID"]/dl/dd/a/b'''),from PySide2.QtWidgets import QApplication,QMainWindow from ui_main import Ui_MainWindow from PySide2.QtCore import QUrl class MainWindow(QMainWindow): def init(self): super().init() # 使用ui文件导入定义界面类 self.ui = Ui_MainWindow() # 初始化界面 self.ui.setupUi(self) # 使用界面定义的控件,也是从ui里面访问 self.ui.webview.load(QUrl('about:blank')) # 获取页面对象 page = self.ui.webview.page() # 设置页面缩放比例 page.setZoomFactor(1) self.ui.webview.load(QUrl('http://www.python3.vip/')) app = QApplication([]) mainw = MainWindow() mainw.show() app.exec_(),请合并这两段代码
06-08
你可以将这两段代码合并成一个,如下所示: ``` from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from PySide2.QtWidgets import QApplication, QMainWindow from ui_main import Ui_MainWindow from PySide2.QtCore import QUrl class MainWindow(QMainWindow): def __init__(self): super().__init__() # 使用ui文件导入定义界面类 self.ui = Ui_MainWindow() # 初始化界面 self.ui.setupUi(self) # 使用界面定义的控件,也是从ui里面访问 self.ui.webview.load(QUrl('about:blank')) # 获取页面对象 page = self.ui.webview.page() # 设置页面缩放比例 page.setZoomFactor(1) # 使用Selenium库控制Chrome浏览器 options = webdriver.ChromeOptions() options.add_argument('--ignore-certificate-errors') options.add_experimental_option('excludeSwitches', ['enable-automation']) options.add_argument("--disable-blink-features=AutomationControlled") options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度 # options.add_argument('--headless') # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败 options.binary_location = './chrome-win/chrome.exe' driver_path = Service("chromedriver.exe") driver = webdriver.Chrome(service=driver_path, options=options) # 打开网站 print('正在登录!') driver.get('http://www.weather.com.cn/jiangsu/index.shtml') elements = driver.find_elements(By.XPATH, '''//*[@id="forecastID"]/dl/dd/a/b''') if __name__ == '__main__': app = QApplication([]) mainw = MainWindow() mainw.show() app.exec_() ``` 注意:这段代码可能需要根据你的具体环境进行调整,比如Chrome浏览器的安装路径和版本,以及Chromedriver的文件名和路径等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值