Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Selenium WebDriver选择div id?_Java_Jquery Ui_Selenium_Selenium Webdriver_Webdriver - Fatal编程技术网

Java 如何使用Selenium WebDriver选择div id?

Java 如何使用Selenium WebDriver选择div id?,java,jquery-ui,selenium,selenium-webdriver,webdriver,Java,Jquery Ui,Selenium,Selenium Webdriver,Webdriver,使用Selenium WebDriver并使用Java。在SeleniumWebDriver中,有没有办法选择div id而不是select id 我正在使用以下HTML: <div id="ui-datepicker-div" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" style="position: absolute; top: 410.8px; left: 99

使用Selenium WebDriver并使用Java。在SeleniumWebDriver中,有没有办法选择div id而不是select id

我正在使用以下HTML:

<div id="ui-datepicker-div" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" style="position: absolute; top: 410.8px; left: 998.9px; z-index: 1; display: block;">

您可以在上找到文档(带有java示例)

特别是,你要找的methlod是

WebDriver.findElement(By)
示例代码是

WebDriver driver = new xxxDriver();
driver.get(" ... ");
WebElement element = driver.findElement(By.id("ui-datepicker-div"));
element. ... // do whatever you want with the DIV block

在webdriver中,您可以使用各种方式定位元素,如xpath、css、id或元素类。您的元素可以通过以下任一方式进行标识:

driver.findElement(By.id("ui-datepicker-div")); //by id
driver.findElement(By.xpath("//div[@id='ui-datepicker-div']")); //by xpath
driver.findElement(By.xpath("//div[contains(@class,'ui-datepicker-div')]")); //another xpath

诸如此类。关键是这些定位器将对html元素起作用,而不管它们是什么(select、div、input等)。

您能否澄清“div id代替select id”是什么意思?@t0mppa请查看附加的html通常如果元素是select形式,我将通过id选择元素,但这里是div。。我不知道如何定位该ID。如果我理解正确……您希望使用ID检索Div元素,那么您可以使用相同的findElement(By.ID(“此处的ID”)方法。它适用于任何HTML标记。正如@Anuragh27 Crony所说的,id在HTML标准中是唯一的,按id查找元素不会对DIV(或任何其他类型的元素)产生偏见。因此,如果元素恰好具有id属性,它始终是定位您要查找的任何元素的最佳选项。请给我一个示例以了解更多信息。如何检索id并在Selenium Web驱动程序中植入..By id在我的情况下最为有效,因为我成功地捕获了html结构中较高的元素。然后,我使用Pyth清除了它在命令上(替换等)。