Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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
Java Selenium WebDriver按部分类名查找元素_Java_Firefox_Selenium_Selenium Webdriver - Fatal编程技术网

Java Selenium WebDriver按部分类名查找元素

Java Selenium WebDriver按部分类名查找元素,java,firefox,selenium,selenium-webdriver,Java,Firefox,Selenium,Selenium Webdriver,在我正在使用的框架中,我有以下元素: <div class="x-grid3-cell-inner x-grid3-col-expRepCol"> New session from client IP 192.168.5.3 (ST=/CC=/C=) at VIP 192.168.5.2 Listener /Common/Tomcat (Reputation=Unknown)</div> 我还尝试了cssSelector: String expectedText =

在我正在使用的框架中,我有以下元素:

<div class="x-grid3-cell-inner x-grid3-col-expRepCol">  New session from client IP 192.168.5.3 (ST=/CC=/C=) at VIP 192.168.5.2 Listener /Common/Tomcat (Reputation=Unknown)</div>
我还尝试了cssSelector:

String expectedText = "New session from client IP";
driver.findElement(By.cssSelector("div[class*='"+expectedText+"']")).click();

但是WebDriver不断抛出一个异常,声明它无法定位该元素。关于可能出现的问题有什么建议吗?

By.className
正在查找输入名称的类

By.cssSelector
正在为您输入的选择器查找匹配项

您尝试的是将
div
的文本与
进行匹配,这是行不通的

您可以尝试以下方法:

driver.findElement(By.xpath("//div[contains(text(),'"+expectedText+"')]")).click();

我相信这会奏效:

driver.findElement(By.className("x-grid3-cell-inner x-grid3-col-expRepCol").click();
同样,我们可以得到任何属性值(如类名、id等)部分匹配的元素


你刚刚忘记了div前面的//但是我一纠正就成功了!谢谢大家!@用户215050啊,伙计,你说得对。很抱歉。修好了,没问题。这并不是说你有页面源代码来处理这么少的打字错误,当你无法测试时就可以理解。当
expectedText
包含单引号时,它会抛出一个异常。我试图用反斜杠来摆脱他们,但没有用。有没有办法在
expectedText
中使用单引号?@user2150250我发现了这个:-我希望它有用。
driver.findElement(By.className("x-grid3-cell-inner x-grid3-col-expRepCol").click();
<div class="dd algo algo-sr Sr" data-937="5d1abd07c5a33">
<div class="dd algo algo-sr fst Sr" data-0ab="5d1abd837d907">
driver.find_element_by_css_selector("div[class^='dd algo algo-sr']")