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

时间:2019-05-08 12:45:36

标签: java jquery selenium selenium-webdriver css-selectors

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

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

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

By expectedOutput  = By.cssSelector(The_expression_I_need);

有人可以告诉我该怎么做吗?

1 个答案:

答案 0 :(得分:1)

正如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标签。因此,我猜测它很可能会获得多个元素。