XPATH定位到的元素有多个,该怎么办?

    技术2022-07-11  99

    XPATH的简单定位元素有多个该怎么办??通过find_elements来找到定位列表,得到的list根据后方的中括号来取值,如下

    driver.find_elements(By.XPATH, "//input[@id='su']")[0].click()

    当然你也可以用JavaScript来进行定位点击。 例如在百度首页,搜索一下,在控制台进行以下命令。

    $x("//input[@id='su']")[0].click()

    当XPATH定位到多个标签时,可以选择运行第几个标签,注意是从0开始的。 而用selenium执行webdriver时必须精准定位,若用此方法就可以避免定位繁琐的尴尬,当然算是执行js命令,写在代码里面就方便多了。

    driver.execute_script("var q = $x(\"//input[@id='su']\")[0].click()") # 单斜杠为转义符
    Processed: 0.010, SQL: 9