可以在webdriver中使用css使用相对路径吗?

时间:2014-07-30 13:06:00

标签: selenium selenium-webdriver

在xpath中,我们可以使用" ./"作为相对路径,它在CSS中可行吗?我需要在表格中循环一行,然后为每个单元格需要做一些事情,所以我需要相关路径,在xpath中它很容易使用" .// td"哪里。是循环中的当前行元素

4 个答案:

答案 0 :(得分:1)

不完全是CSS,但是当使用Selenium时,如果你已经引用了一个元素,那么CSS选择器将会神奇地限定下面那个元素。

据此,我的意思是:

WebElement element = driver.FindElement(By.Id("something));
elements = element.FindElement(By.CssSelector("div"));

elements现在将包含div所有element个孩子的列表。所有其他选择者(我相信)除了 XPath。

之外也是如此

答案 1 :(得分:0)

如果您的HTML看起来像这样的声音可能

<table>
    <tbody>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
    </tbody>
</table>

您的选择器应该看起来像

table>tbody>tr:nth-child(3)

而且,如果你需要按顺序执行任何操作,只需在nth-child()中增加你的循环

答案 2 :(得分:0)

我们在XPATH中有no relative path in css selector。但是有不同的方法可以通过css选择器实现它。您可以查看See here

答案 3 :(得分:0)

如果您指的是网络元素的相对路径,您可以执行以下操作:

element =driver.find_element_by_id("pagination")	
element=element.find_element_by_xpath(".//a[@class='confirm-nav next']")