Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用类编写xpath?_Xpath_Selenium - Fatal编程技术网

如何使用类编写xpath?

如何使用类编写xpath?,xpath,selenium,Xpath,Selenium,任何人请帮助我为下面的一个构造最短的xpath。我正在使用selenium编写自动化脚本 这是我想从selenium点击的链接: <a class="LiveChat" onclick="openLiveChat()" title="Live Chat" href="#nogo"> <span class="ChatIcon"> </span> <span>Live Chat</span> 我尝试了以下命令,但似乎不起作用:

任何人请帮助我为下面的一个构造最短的xpath。我正在使用selenium编写自动化脚本

这是我想从selenium点击的链接:

<a class="LiveChat" onclick="openLiveChat()" title="Live Chat" href="#nogo">
  <span class="ChatIcon"> </span>
  <span>Live Chat</span>
我尝试了以下命令,但似乎不起作用:

selenium.click("//a[@class='LiveChat']/span");

正如我所看到的,直播聊天是一个链接

selenium中有一个更好的选项,单击链接,您可以使用以下语句:

driver.findElement(By.linkText(“实时聊天”)。单击()

此外,您应该尝试减少在代码中使用
xpath
,更好的选择是
cssselector


正如我所看到的,直播聊天是一个链接

selenium中有一个更好的选项,单击链接,您可以使用以下语句:

driver.findElement(By.linkText(“实时聊天”)。单击()

此外,您应该尝试减少在代码中使用
xpath
,更好的选择是
cssselector


使用以下
Xpath
点击
实时聊天

//a[@class='LiveChat']/span[contains(.,'Live Chat')]

使用以下
Xpath
点击
Live Chat

//a[@class='LiveChat']/span[contains(.,'Live Chat')]

//a[@class='LiveChat']
尝试此测试,如果失败,可能是您的元素在iframe中,或者是从ajax请求获取的。您所说的“似乎不工作”是什么意思?selenium是否无法找到元素,或者单击
是否不会产生效果?我猜你没有看到点击的效果,我猜这是因为你点击了
span
,javascript在
a
上。改用[@class='LiveChat']
试试它。试试这个==>selenium。点击(“//a[@class='LiveChat']///span”);根据要求,span不是标记的直接子级,您应该在span标记
//a[@class='LiveChat']
之前使用双斜杠进行测试,如果失败,可能是您的元素在iframe中,或者它是从ajax请求获得的。您所说的“似乎不起作用”是什么意思?selenium是否无法找到元素,或者单击
是否不会产生效果?我猜你没有看到点击的效果,我猜这是因为你点击了
span
,javascript在
a
上。改用[@class='LiveChat']
试试它。试试这个==>selenium。点击(“//a[@class='LiveChat']///span”);根据要求,span不是标记的直接子项,您应该在span tagQuestion使用
Selenium
而不是
Webdriver
之前使用双斜杠。Question使用
Selenium
而不是
Webdriver