我需要访问图片中的文本。我正在使用VB.NET,我需要在MessageBox中显示我。句子是:"我的朋友要去电影院看电影,但是没有票了."。当我右键单击这个并获得完整的Xpath时,它向我显示了这样的信息:
/html/body/div[7]/div[3]/div/div[2]/div[2]/div/div/div/div/div[2]/div/div[1]/div/div/div[9]/div/div[1]/div[2]/div/table/tbody/tr[1]/td[4]/div[1]/text()[4]
下面是我在VB.NET中使用的代码:
MsgBox(driver.FindElement(By.XPath("/html/body/div[7]/div[3]/div/div[2]/div[2]/div/div/div/div/div[2]/div/div[1]/div/div/div[9]/div/div[1]/div[2]/div/table/tbody/tr[1]/td[4]/div[1]/text()[4]")))
但我得到以下错误:
OpenQA. Selenium. InvalidSelectorException:'无效的选择器:XPath表达式"/html/body/div [7]/div [3]/div/div [2]/div/div/div/div [2]/div/div [1]/div/div/div [9]/div/div [1]/div [2]/div/table/tbody/tr [1]/td [4]/div [1]/text()[4]"的结果是:[object Text]。它应该是一个元素。
2条答案
按热度按时间wfsdck301#
此错误消息...
...意味着xpath:
返回了一个[object Text]不支持的` [object Text]。其中Selenium期望WebElement。
解决方案
要从第4个 Text Node 提取文本并显示在MessageBox中,需要使用
ExecuteScript()
方法,如下所示:kkbh8khc2#
我找到了解决方案:
它将检索整个文本。