zoukankan      html  css  js  c++  java
  • webdriver 的使用 java 和python 两个版本

    在使用webdriver前要先做下准备,1、下载相应的支持包,可以pom.xml文件引入 2、下载版本对应的浏览器驱动(我这里用的是chromedriver.exe),很多问题都是由于浏览器驱动引起的,所以这里一定要下载对应的版本。https://npm.taobao.org/mirrors/chromedriver/ 这里是下载地址

    使用的时候 chrome浏览器总会弹出 开发者模式运行扩展程序提示 这样的提示,不胜其烦,有网友给出了解决办法,我也下载了 x64dbg_jb51.rar http://www.greenxf.com/soft/193321.html 工具,亲测有效,https://www.52pojie.cn/thread-695123-1-1.html 这里是破解方法,就不再详细说了。另外这个工具还有其他功能,有兴趣的可以多研究。

    pom.xml文件引入selenium

            <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-server -->
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-server</artifactId>
                <version>3.9.0</version>
            </dependency>
    
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-chrome-driver</artifactId>
                <version>3.11.0</version>
            </dependency>

    然后就可以运行以下代码,写的比较粗糙,另外还有by.xpath功能,可以自行查找使用。 这里提供了相关示例操作。https://blog.csdn.net/tianjing222/article/details/79051221

    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    
    /**
     * Created by song on 2019-01-02.
     */
    public class WebDriverUseChrome {
    
        public static  void  main(String args[]){
    
            System.setProperty("webdriver.chrome.driver", "E:\python\chromedriver_win32\70\chromedriver.exe");
    
            WebDriver driver = new ChromeDriver();
    
            try {
                Thread.sleep(10000);
                driver.get("https://www.baidu.com");
                driver.getTitle();
                WebElement wd =  driver.findElement(By.id("kw"));
                WebElement login = driver.findElement(By.id("su"));
                wd.sendKeys("webdriver");
                login.click();
                Thread.sleep(10000);
                //得到浏览器的标题
                System.out.println(driver.getTitle());
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            //关闭浏览器 下面是关闭所有标签页,还有一个代码是 driver.close();, 关闭当前标签页
            driver.quit();
        }
    }

    python 调用webdriver更加简单,我这里用的是python3 ,使用前先要使用 pip 安装 selenium ,并将chromedriver.exe 放到python的安装目录下,我这里是D: oolsPython34

    #! /usr/bin/python
    # -*- coding:utf-8 -*-
    
    from selenium import webdriver
    import time
    
    driver = webdriver.Chrome()#加载chrome驱动
    
    driver.get("https://www.baidu.com");
    driver.find_element_by_id("kw").send_keys("python webdriver");#根据按钮获取文本框,并输入值
    driver.find_element_by_id("su").click();#获取按钮并点击
    
    print(driver.title)#获取页面title
    time.sleep(5)#延时5秒
    print(driver.title)
    print(driver.find_element_by_xpath(".//*[@id='1']").text)#使用xpath用匹配的方式获取id下面的内容
    print(driver.find_element_by_xpath("html/body/div/div[5]/div/div[3]/div/h3/a").text)#根据xpath获取指定标签下面的内容
    driver.close()#关闭页面

    下面为执行结果

  • 相关阅读:
    Ubuntu 16.04配置vncviewer
    Ubuntu中可以卸载的软件(持续更新)
    MySQL入门常用命令
    数据库学习笔记(一)
    TensorFlow学习笔记(一)
    ubuntu安装deb包(dpkg)
    Linux中的bin文件夹
    常对象成员和常成员函数
    this指针
    对象成员指针
  • 原文地址:https://www.cnblogs.com/shej123/p/10272108.html
Copyright © 2011-2022 走看看