Python selenium 通过 xpath 或 css 选择器查找元素
Python selenium find element by xpath or css selector
如何使用 python selenium
单击“NATIONAL”文本
<div class="ellipsis__content">
<ul class="breadcrumb_new" id="breadcrumb">
<li>
<span>NATIONAL</span>
</li>
</ul>
</div>
我尝试了以下这些东西,
find_element_by_xpath("//div[@id='breadcrumb']/li/span")
find_element_by_css_selector("#breadcrumb > li > span")
两种方法都不行,有什么想法吗
可能您需要等到元素正确呈现。
代码试用 1 :
time.sleep(5)
driver.find_element_by_xpath("//div[@id='breadcrumb']/li/span").click()
代码试用 2 :
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@id='breadcrumb']/li/span"))).click()
PS : 如果我们有 请检查 dev tools
(Google chrome)是否在 HTML DOM
中唯一 个条目。
检查步骤:
Press F12 in Chrome
-> 转到 element
部分 -> 执行 CTRL + F
-> 然后粘贴 xpath
并查看是否需要 element
正在 突出显示 与 1/1
匹配节点。
试试这个,应该适合你:
ele=driver.find_element_by_xpath("//*[@id='breadcrumb']//span")
ele.click()
这个问题已经有了答案,但要补充几点。
I tried these below things,
find_element_by_xpath("//div[@id='breadcrumb']/li/span")
id
breadcrumb
是 ul
标签的一部分,但您指的是 div
标签。如果尝试如下,它应该可以工作。
find_element_by_xpath("//ul[@id='breadcrumb']/li/span")
find_element_by_css_selector("#breadcrumb > li > span")
CSS
定位器没有问题。如果您遇到问题,它应该仍然可以工作,您可能需要调试并查看或尝试添加一些 explicit
值。
如何使用 python selenium
单击“NATIONAL”文本<div class="ellipsis__content">
<ul class="breadcrumb_new" id="breadcrumb">
<li>
<span>NATIONAL</span>
</li>
</ul>
</div>
我尝试了以下这些东西,
find_element_by_xpath("//div[@id='breadcrumb']/li/span")
find_element_by_css_selector("#breadcrumb > li > span")
两种方法都不行,有什么想法吗
可能您需要等到元素正确呈现。
代码试用 1 :
time.sleep(5)
driver.find_element_by_xpath("//div[@id='breadcrumb']/li/span").click()
代码试用 2 :
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@id='breadcrumb']/li/span"))).click()
PS : 如果我们有 请检查 dev tools
(Google chrome)是否在 HTML DOM
中唯一 个条目。
检查步骤:
Press F12 in Chrome
-> 转到 element
部分 -> 执行 CTRL + F
-> 然后粘贴 xpath
并查看是否需要 element
正在 突出显示 与 1/1
匹配节点。
试试这个,应该适合你:
ele=driver.find_element_by_xpath("//*[@id='breadcrumb']//span")
ele.click()
这个问题已经有了答案,但要补充几点。
I tried these below things,
find_element_by_xpath("//div[@id='breadcrumb']/li/span")
id
breadcrumb
是 ul
标签的一部分,但您指的是 div
标签。如果尝试如下,它应该可以工作。
find_element_by_xpath("//ul[@id='breadcrumb']/li/span")
find_element_by_css_selector("#breadcrumb > li > span")
CSS
定位器没有问题。如果您遇到问题,它应该仍然可以工作,您可能需要调试并查看或尝试添加一些 explicit
值。