java - 如何为下面的复杂 jQuery 选择器编写 cssSelector

标签 java jquery selenium selenium-webdriver css-selectors

我有下面的 jQuery 选择器。我用浏览器开发者控制台的数据检查它。

jQuery("iframe#msg_body").contents().find("html body div span").text()

我需要将其用于 selenium 中的 cssSelector。 例如如下格式

By expectedOutput  = By.cssSelector(The_expression_I_need);

谁能告诉我该怎么做?

最佳答案

正如 Rory McCrossan 提到的,您不能仅使用 CSS 选择器访问该元素,因为它位于 iframe 内。

您必须切换到 iframe 并搜索该元素。

new WebDriverWait(driver,30).until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("msg_body"));
By expectedOutput = By.cssSelector("html body div span");

然后你可以使用定位器获取元素。

定位器将返回body标签内div标签内的所有span标签。所以我猜它很可能会获得不止一个元素。

关于java - 如何为下面的复杂 jQuery 选择器编写 cssSelector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56041140/

相关文章:

java - Hibernate 正在尝试插入可选的 @OneToOne 空字段

Java 应用程序返回码

javascript - 如何在 Heroku 上部署 Selenium-python

python - 在 PyCharm CE 中使用 Selenium

java - 将对象的副本添加到 ArrayList

java - 使用RC4加密和解密

javascript - 如何从 JavaScript 函数中获取数据

jquery - 无法在Fancybox中加载YouTube视频-空白页

jQuery UI可拖动,拖动父div

selenium - Appium/Selenium TestNG Gradle DexArchiveBulderException构建错误