Java Selenium Web工具的替代品

时间:2016-12-24 01:20:28

标签: java php html selenium selenium-webdriver

我有一个Java代码,它实现了Selenium Web驱动程序。每当运行此代码时,它将打开一个网站,在文本区域输入一些信息然后提交。虽然有一个问题,但现在它可以按照我的要求运行。我不喜欢这个应用程序的用户在网络驱动程序上可靠的事实。这意味着如果用户拥有Safari,则必须使用Web驱动程序,如果用户使用Chrome,则必须使用Chrome等网络驱动程序。 因此,考虑到这一点,我想知道是否有替代我的代码,它完全相同。但它不依赖于Web驱动程序,只会在用户拥有的任何浏览器中执行相同的操作。 注意我是那个将创建Java应用程序必须连接到的网站和后端php的人。所以我不介意,如果我必须改变该网站上的某些东西,做一个替代工作。 我添加了我的Java / Selenium和html / php脚本以确保列出所有内容。

爪哇

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class uOnline {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver", "chromedriver");
        WebDriver driver = new ChromeDriver(); 

          driver.get("https://mywebsite.com");

          WebElement textBoxElement = driver.findElement(By.name("Send"));

          textBoxElement.sendKeys("testing testing #1");

          textBoxElement.submit();

          driver.close();

    }

}

HTML

<!DOCTYPE html>
<html>
<body>

<form action="saveInfo.php" method="POST" id="sInfoForm">

  <textarea rows="4" cols="50" name="Send"></textarea>
  <input type="submit">

</form>

</body>

</html>

PHP

<?php

$file = 'uploads/file.txt';

$text = $_POST['Send'];

file_put_contents($file, $text . PHP_EOL, FILE_APPEND | LOCK_EX);

?>

更新

在被告知JBrowserDriver后,我尝试过使用它,唯一的问题是它没有提交任何内容,也没有任何错误。因此,让我有点难以知道什么是错的。

目前看起来如下所示。

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import com.machinepublishers.jbrowserdriver.JBrowserDriver;
import com.machinepublishers.jbrowserdriver.Settings;
import com.machinepublishers.jbrowserdriver.Timezone;

public class uOnline {

    public static void main(String[] args) {

        JBrowserDriver driver = new JBrowserDriver(Settings.builder().
          timezone(Timezone.AMERICA_NEWYORK).build());

        driver.get("https://mywebsite.com");

        WebElement textBoxElement = driver.findElement(By.name("Send"));

        textBoxElement.sendKeys("testing JBrowser driver");

        textBoxElement.submit();

        driver.quit();

    }

}

0 个答案:

没有答案