我有下表:
ItemID Price
1 10
2 20
3 12
4 10
5 11
Run Code Online (Sandbox Code Playgroud)
我需要找到第二低的价格.到目前为止,我有一个有效的查询,但我不确定它是最有效的查询:
select min(price)
from table
where itemid not in
(select itemid
from table
where price=
(select min(price)
from table));
Run Code Online (Sandbox Code Playgroud)
如果我必须找到第三或第四个最低价格怎么办?我甚至没有提到其他属性和条件......有没有更有效的方法来做到这一点?
PS:请注意,minimum不是唯一值.例如,第1项和第4项都是最小值.简单的订购不会.
我有一个变量state,取11到99之间的整数值.它被标记.
如何创建一个字符串变量stateString,其中包含没有所有这些数值的字符串值?
gen stateString = tostring(state)
没有办法.
以下代码测试网页的自动裁剪框:
public class Test {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver","chromedriver\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www..............com");
driver.switchTo().frame("mainFrame");
WebDriverWait waitst = new WebDriverWait(driver, 120);
waitst.until(ExpectedConditions.visibilityOfElementLocated(By.name("sourceTitle")));
WebElement sourceTitle = driver.findElement(By.name("sourceTitle"));
WebElement small = driver.findElement(By.cssSelector("li#nameExampleSection label + small"));
sourceTitle.sendKeys("Times");
Thread.sleep(5000);
Actions actions = new Actions(driver);
actions.click(small).perform();
}
}
Run Code Online (Sandbox Code Playgroud)
为什么自动提示框没有加载?重要提示:尝试手动输入"..........." ...自动完成框将加载完全正常!那么,为什么不起作用cssSelector,为什么不加载自动完成框?
为什么自动输入不允许自动完成选项但是手动输入呢???
PS:我也试过fireEvent,sendKeys但没有任何作用.
我需要从表"td"获得结果.但在我能做到之前,我需要导航一个包含它的框架.该框架是属于mainFrame的框架集元素之一.我尝试使用所有类型的导航"子"子帧非其工作:
driver.switchTo().defaultContent();
Thread.sleep(1000);
driver.switchTo().frame("mainFrame.0.fr_resultsNav~ResultsMaxGroupTemplate0.9766101221774707");
driver.switchTo().frame("main.Frame.1.fr_resultsNav~ResultsMaxGroupTemplate0.8811790466176727");
// even: driver.switchTo().frame("mainFrame.0.fs_main");
Run Code Online (Sandbox Code Playgroud)
以下是网页的简要布局:
<frame src="banner.asp" name="topFrame" scrolling="no" noresize="noresize" id="topFrame" title="topFrame">
<frame src="" name="mainFrame" id="mainFrame" title="mainFrame" wd_frame_id_="5f4c10bc7e0960070bfda831655b8b0c">
<frameset id="fs_main" border="0" frameborder="no" framespacing="0" rows="70,87,*">
.....................
<frameset id="fs_content" cols="23%,*" framespacing="0" frameborder="no">
.....................
<frameset cols="*,9" id="LeftFrameSet" framespacing="0" frameborder="no">
.....................
<frame frameborder="0" name="fr_classification~ResultsMaxGroupTemplate0.609021034867735" title="Results Classification Frame" id="fr_classification~ResultsMaxGroupTemplate0.609021034867735" src="/lnacui2api/results/shared/waitMessage.do?wmibIdRand=61_T16938265013_rand_1363544453847" scrolling="Auto" onload="paintResultsBorder('ResultsMaxGroupTemplate0.609021034867735');">
....................
<form name="results_listview_ResultsListForm" method="post" action="/lnacui2api/results/listview/listview.do" id="results_listview_ResultsListForm">
..........
<td nowrap="" height="20"> <span id="new"> All Results</span> (294)</td>
</form>
....................
Run Code Online (Sandbox Code Playgroud)
在导航子帧之前,是否需要导航框架集?我看了文档.所有互联网示例都提供了一个简单的示例代码:driver.switchTo().frame("mainFrame.0.child").在这种情况下它不起作用.请看一下上面的脚本.
我有使用Gmail登录信息的Cookie,因此Chrome会自动打开我的Gmail.
我尝试了以下代码,但它不起作用:
System.setProperty("webdriver.chrome.driver","chromedriver\\chromedriver.exe");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("C:\\Users\\Owner\\AppData\\Local\\Google\\Chrome\\User Data\\Default"));
//I also tried using: capabilities.setCapability("chrome.switches", Arrays.asList("--user-data-dir = C:\\Users\\Owner\\AppData\\Local\\Google\\Chrome\\User Data\\Default"));
WebDriver driver = new ChromeDriver(capabilities);
driver.get("https://gmail.com");
Run Code Online (Sandbox Code Playgroud)
我检查了C:\\Users\\Owner\\AppData\\Local\\Google\\Chrome\\User Data\\Default它的目录是否可以.这里有什么问题?
有一个文件夹: C:\\Users\..myfolder
它包含.pdf文件(或任何其他文件,例如 .csv)。我无法更改这些文件的名称,而且我不知道这些文件的数量。我需要一个一个地循环所有文件。我怎样才能做到这一点?
(如果我知道名字,我就知道该怎么做)
JavaScript的.我有一系列数字
var values = [1,20,12,6,9];
我需要创建一个相同大小的新数组,以便:
"#3E296B" "#FFFFFF". "#3E296B"成"#FFFFFF"比例的渐变颜色即我的新阵列应该大致相似:( var colors = [white, blue, less_blue, less_less_blue, less_blue]我用文字写的简化)
我有大约30,000个邮政编码,我需要提取状态.我尝试过CDXZipCode试用版,但它仅适用于1,000个条目.有什么好的免费软件吗?
我有以下String myString="city(Denver) AND state(Colorado)";
它重复"("和")"......
我如何检索州名,即科罗拉多州.我尝试了以下方法:
String state = myString.substring(myString.indexOf("state(")+1,myString.indexOf(")"));
Run Code Online (Sandbox Code Playgroud)
但它给了 indexOutOfBoundException
有没有办法指定我需要第二个"("在myString中?我需要结果: String state = "Colorado";
我最近发现了一个示例代码:
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
Run Code Online (Sandbox Code Playgroud)
该createAndShowGUI()方法打开用户界面窗口.然后我尝试修改代码如下:
public static void main(String[] args) {
createAndShowGUI();
}
Run Code Online (Sandbox Code Playgroud)
两个版本都同样有效.有什么不同?