Python 有没有办法获取selenium web元素的xpath?

Python 有没有办法获取selenium web元素的xpath?,python,selenium,selenium-webdriver,web-scraping,xpath,Python,Selenium,Selenium Webdriver,Web Scraping,Xpath,我有一个充满关键字的数据库,我必须获得包含这些单词的web元素的XPath。(每个单词旁边都有一个可扩展的列表按钮。要单击该按钮,我需要获取关键字的xpath并对其进行修改以获取按钮xpath) 我可以使用 keyword_element = driver.find_element_by_xpath(f"//*[contains(text(), '{keyword}')]") 这只获取包含如下关键字的元素的selenium web元素 <selenium.webdri

我有一个充满关键字的数据库,我必须获得包含这些单词的web元素的XPath。(每个单词旁边都有一个可扩展的列表按钮。要单击该按钮,我需要获取关键字的xpath并对其进行修改以获取按钮xpath)

我可以使用

keyword_element = driver.find_element_by_xpath(f"//*[contains(text(), '{keyword}')]")
这只获取包含如下关键字的元素的selenium web元素

<selenium.webdriver.remote.webelement.WebElement (session="1df8dbbae8c93fd772a5134ed0666a7a", element="b3d2bc8d-0c8c-4fb0-b3d1-2a5d49537567")>

HTML-dev元素如下所示

<span class="fancytree-node actlitetreeitem fancytree-exp-n fancytree-ico-c">
    <span class="fancytree-expander"></span>
    <span class="fancytree-checkbox"></span>
    <span class="fancytree-title">SNAPCHAT</span>
</span>

阅后即焚
“SNAPCHAT”是关键字,我需要访问“fancytree复选框”元素。但我必须使用关键词SNAPCHAT来获取它


有没有办法从中获取web元素的xpath?

使用
xpath
中的任何一个来标识元素
fancytree复选框

使用前面的同级

keyword_element = driver.find_element_by_xpath(f"//*[contains(text(), '{keyword}')]/preceding-sibling::span[1]")
或者识别父节点,然后识别其子节点

 keyword_element = driver.find_element_by_xpath(f"//span[.//*[contains(text(), '{keyword}')]]//span[@class='fancytree-checkbox']")

请将关键字元素和按钮元素的相关HTML与父节点一起发布?@KunduK现在已编辑,非常感谢。我还找到了一种通过使用关键字_元素向后定向来访问该元素的方法。但是你的方法效果更好。