我为我糟糕的英语道歉,但我真的需要帮助。 我正在尝试使用selenium-webdriver在c#中自动化Internet Explorer以填充外部网站上的公式(顺便说一句。我有良好的意图:D)。
我的问题是选择jstree中动态加载的节点。选择节点后,网站会生成一个新的ul元素,我无法通过xPathes找到selenium的webdriver,直到单击父节点并生成这些元素。 你能帮我用javascript或codebehind扩展jstree中的所有节点吗? hml代码看起来像这样。
<div id="tree" class="jstree jstree-0 jstree-focused jstree-classic">
<ul>
<li class="jstree-opened">
<a class="" href="#">
<ins class="jstree-icon"></ins>
Nodetext
</a>
<ul></ul>
</li>
<li class="jstree-closed">
<a class="" href="#">
<ins class="jstree-icon"></ins>
Name of Node
</a>
</li>
</ul>
说明上述代码的外观。
答案 0 :(得分:0)
我尝试了以下代码段并参与了jstree演示:https://www.jstree.com/demo/
('#jstree_demo').jstree('open_all');
请检查上面的代码可以首先在你的jstree上工作。 然后你可以使用selenium api:driver.execute_script()在浏览器上执行上面的代码,如下所示:
Java示例:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return ('#jstree_demo').jstree('open_all');");
JavaScript示例:
driver.executeScript("return ('#jstree_demo').jstree('open_all');");
Python示例:
driver.execute_script("return ('#jstree_demo').jstree('open_all');");