Java 如何使用Selenium WebDriver选择div id?
使用Selenium WebDriver并使用Java。在SeleniumWebDriver中,有没有办法选择div id而不是select id 我正在使用以下HTML: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
<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清除了它在命令上(替换等)。