Javascript ItemCode=";的xpath是什么;J";充气气缸DDDFDF和x27'@#

Javascript ItemCode=";的xpath是什么;J";充气气缸DDDFDF和x27'@#,javascript,selenium,xpath,Javascript,Selenium,Xpath,看看这是否有效 1. //td[text()=\""+ItemCode+"\"] 2. //td[text()=\'"+ItemCode+"\'] 如果我理解您要做的,就是根据元素的文本定位元素。 如果是,请尝试以下方法: driver.find_element_by_xpath(".//td[@class='edit-cell ui-state-highlight']").text 在这里,您可以在forma

看看这是否有效

1. //td[text()=\""+ItemCode+"\"]
2. //td[text()=\'"+ItemCode+"\']

如果我理解您要做的,就是根据元素的文本定位元素。
如果是,请尝试以下方法:


driver.find_element_by_xpath(".//td[@class='edit-cell ui-state-highlight']").text

在这里,您可以在
format()
中传递任何相关值,以格式化特定的XPath定位器

您的用例非常棘手

根据您使用的刮削语言,可能(我现在无法测试)会使用如下内容(示例JavaScript):

此wil将构造此XPath:

let xpath = '//td[text()=concat(\'"J" AIR FILLED CYLINDERS DDDFDF \',"\'\'\'\'@#") ]';
含义:如果ItemCode中有一组单引号或双引号,则必须使用XPath-concat()函数构建XPath


查看这些答案和。

您正在尝试获取td标记的文本?是的,并且文本每次都会随着不同的itemcode而变化,item code具有特殊字符,如“,”etci希望通过文本查找类似于//td[text()=\”“+itemcode+“\”],我有多个itemcode,itemcode包含单引号或双引号,这是否适用于selenium with java?您没有提到您使用的是什么语言。现在它是java语法中的。对于丢失,我很抱歉,我正在使用selenium with java没有问题,我的答案是,当您的字符串都有单引号时,我的答案已经不起作用了和双引号。谢谢你,它的工作,但并没有解决整个问题,因为我的字符串将是动态的,字符串来自Excel工作表,Excel中有很多可用的非项目代码字符串,所以你必须拿出代码,如果你同时有单引号和双引号,将构建concat字符串。应该是可行的。成功我创建d函数生成字符串,如您所述,如果我在concat中使用生成的字符串,它就是wokring,但如果我存储在一个变量中,并在concat中使用该变量,则它不起作用,我使用这种方式=>//td[text()=concat(\'“+Itemcode+”\)我建议你用相关信息问一个新问题,比如Itemcode的内容、脚本语言的名称以及用于构建字符串的代码。谢谢,我已经这样做了->
String locator = "//td[contains(text(),'%s')]";
locator = String.format(locator,"'J' AIR FILLED CYLINDERS DDDFDF ''@#");
driver.findElement(By.xpath(locator));
let xpath = '//td[text()=concat(\'"J" AIR FILLED CYLINDERS DDDFDF \',"\'\'\'\'@#") ]';
//td[text()=concat('"J" AIR FILLED CYLINDERS DDDFDF ',"''''@#") ]