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
用于Selenium自动化的XPATH和CSS-需要帮助_Css_Selenium_Xpath - Fatal编程技术网

用于Selenium自动化的XPATH和CSS-需要帮助

用于Selenium自动化的XPATH和CSS-需要帮助,css,selenium,xpath,Css,Selenium,Xpath,我想找到XPATH/CSS定位器来从以下结构中提取文本。 请帮忙 <div class="page-header song-wrap"> <div class="art solo-art"> <div class="meta-info"> <h1 class="page-title"> Zehnaseeb 泽纳希布 我想给出locator/XPATH,以便它可以返回文本“Zehnaseeb”(在本例中) 没有任何结果, findelelem

我想找到XPATH/CSS定位器来从以下结构中提取文本。 请帮忙

<div class="page-header song-wrap">
<div class="art solo-art">
<div class="meta-info">
<h1 class="page-title">
Zehnaseeb

泽纳希布

我想给出locator/XPATH,以便它可以返回文本“Zehnaseeb”(在本例中)

没有任何结果,

findelelement(By.xpath(“./*[@id='main']/div/section/div[1]/div[2]/h1”)).getText()

如果您使用的是C#,我建议您使用“ScrapySharp”,它非常适合解析HTTML


这应该行得通。

我会检查介于两者之间的所有元素,以查看层次结构是否正确,但您可以尝试通过使用后代
/
删除介于两者之间的一些元素来简化

//*[@id='main']//h1[@class='page-title']
你试过元素吗

String text = new WebDriverWait(driver,30).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div.page-header h1.page-title"))).getText();

h1标记是否在“Zehnaseeb”之后关闭?您还应指定正在使用的代码语言。c#?java?在Zehnaseeb之后h1标记没有关闭,完整的标记在这里,1 class=“page title”>Zehnaseeb我也尝试过这个,但很有效,//*[@id='main']/div/section/div[1]/div[2]/h1/text()//*[@id='main']/@h1[@class='page-title']这再次只到达页面标题,但如果代码运行时,由于h1标记在这里没有关闭,我认为提取文本有点困难!这个解决方案对我有效。谢谢!
String text = new WebDriverWait(driver,30).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div.page-header h1.page-title"))).getText();