Python 有没有办法获取selenium web元素的xpath?
我有一个充满关键字的数据库,我必须获得包含这些单词的web元素的XPath。(每个单词旁边都有一个可扩展的列表按钮。要单击该按钮,我需要获取关键字的xpath并对其进行修改以获取按钮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
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现在已编辑,非常感谢。我还找到了一种通过使用关键字_元素向后定向来访问该元素的方法。但是你的方法效果更好。