最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

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

业界 admin 5浏览 0评论

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()")
# 单斜杠为转义符

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()")
# 单斜杠为转义符
发布评论

评论列表 (0)

  1. 暂无评论