当前位置: 首页 > 面试题库 >

JAVA-如何在硒中使用xpath

杨研
2023-03-14
问题内容

我有这个HTML代码:

<select name="category" id="category">
    <option value="0">&laquo;Seleziona la categoria&raquo;</option>
    <option value='1' style='background-color:#ddd' disabled="disabled" id='cat1' >-- VEICOLI --</option>
    <option value='2'  id='cat2' >Auto</option>
</select>

而且我必须选择option带有text 的标签所标识的WebElement Auto。我尝试一些解决方案,例如:

d.findElement(By.xpath("/select[@id=category]/option[@id=cat2]")).click();
d.findElement(By.xpath("/select[@id=category]/option[text()='Auto']")).click();
d.findElement(By.xpath("//select[@id=category]/option[Auto]")).click();

但是每个人都给我:

Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"/select[@id=category]/option[@id=cat2]"} ( and other xpath i tried)
Command duration or timeout: 1.52 seconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html

正确的语法是什么?有人能帮我吗?


问题答案:

您没有正确的XPath语法。您需要在要匹配的文本属性值周围加上引号。尝试:

d.findElement(By.xpath("//select[@id='category']/option[@id='cat2']")).click();


 类似资料:
  • 如果我直接在docker中运行google-chrome,它会显示如下: 系统:

  • 问题内容: 根据[此处](http://codingdict.com/questions/164162的帖子,我正在尝试使用硒中的chrome webdriver来下载文件。这是到目前为止的代码 但这仅会导致以下错误: 那么如何解决呢?我必须使用这种“功能”吗?如果是这样,究竟如何? 问题答案: 尝试这个。在Windows上执行 (如何在Chrome中控制具有SeleniumPython绑定的文件

  • 我正在尝试使用Selenium进行web抓取,我打开了一些选项卡以获取一些信息,但希望关闭这些选项卡。如果我不这样做,我会在代码运行完成时打开很多选项卡。我尝试切换到要关闭的选项卡,然后尝试通过执行以下操作关闭它: 当我运行程序时,标签保持打开状态,URL通常在哪里,上面写着“about:blank”。是否有一种方法可以完全关闭此选项卡,同时保持所有其他选项卡处于打开状态?下面是完整的代码供参考。

  • 问题内容: 我正在尝试使用Java和基于WebDriver的语法从硒的选择列表中选择一个元素。 我有选择列表 我怎么做? 问题答案: 如果速度较慢,请考虑类似

  • 问题内容: 我想对英语句子加标签,并进行一些处理。我想使用openNLP。我已经安装了 当我执行命令时 它提供输出POSTagging Text.txt中的输入 我希望它安装正确吗? 现在如何从Java应用程序内部进行此POStagging?我已将openNLPtools,jwnl,maxent jar添加到项目中,但是如何调用POStagging? 问题答案: 这是我放在一起的一些(旧)示例代码

  • 问题内容: 我正在尝试使用Java中的HtmlUnit登录网站。首先,我输入用户名,然后输入密码。之后,我需要从下拉框中选择一个选项。输入用户名和密码似乎有效,但是当我尝试从下拉框中选择项目时出现错误。谁能帮我解决这个问题?我的代码如下: 问题答案: 这是HTMLunit的单元测试中的代码。 请注意,他们使用的是getSelectsByName而不是getElementById。 这是这些单元测试