Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
Selenium WebDriver:通过CSSSelector或XPath查找元素_Selenium_Xpath_Webdriver - Fatal编程技术网

Selenium WebDriver:通过CSSSelector或XPath查找元素

Selenium WebDriver:通过CSSSelector或XPath查找元素,selenium,xpath,webdriver,Selenium,Xpath,Webdriver,我在下一页获取元素时遇到问题。选择应取决于“数据id”值。提前谢谢 <li class="recent" data-to="3" data-off="23" data-id="5"> <a class="collapse in" href="/board"> <span> Board </span> <i class="angle-up"></i>

我在下一页获取元素
时遇到问题。选择应取决于
“数据id”
值。提前谢谢

<li class="recent" data-to="3" data-off="23" data-id="5">
    <a class="collapse in" href="/board">
        <span>
            Board
        </span>
        <i class="angle-up"></i>
    </a>
</li>
<li class="" data-to="3" data-off="23" data-id="7">
    <a class="collapse in" href="/set">
        <span>
           Set
        </span>
        <i class="angle-up"></i>
    </a>
</li>

  • 我认为,如果该值取决于数据id,那么您可能需要将Xpath或Css选择器拆分为3个部分,如下所示:

    第1部分=//li[@data\u id=]

    Part2=(在运行时使用适当的变量获取此值)

    Part3=']//i[@class='angle-up']

    现在您可以使用以下代码来使用元素

        public class TestElement {
    
        public static void main(String args[])
        {
            WebDriver driver= new FirefoxDriver();
            driver.get(YOUR INTERNAL URL HERE.);
           
            String elementPart1=//li[@data_id='
            String elementPart2=5       //keeping the id you are looking for
            String elementPart3=']//i[@class='angle-up']
    
            WebElement element = driver.findElement(By.xpath(elementPart1+elementPart2+elementPart3);
          
        }
    }
    
    在这里,您可能会看到这样一个xpath示例

    //li[@data_id='5']//i[@class='angle-up']
    

    另外,我建议您使用扩展名检查xpath是否正确。

    有效。谢谢你的帮助!