标签: xpath

强制xpath返回一个字符串lxml

我正在使用lxml,我有一个来自Google学术搜索的报废页面.以下是一个最小的工作示例和我尝试过的事情.

In [56]: seed = "https://scholar.google.com/citations?view_op=search_authors&hl=en&mauthors=label:machine_learning"

In [60]: page = urllib2.urlopen(seed).read()

In [63]: tree = html.fromstring(page)

In [64]: xpath = '(/html/body/div[1]/div[4]/div[2]/div/span/button[2]/@onclick)[1]'

In [65]: tree.xpath(xpath)
#first element returns as list
Out[65]: ["window.location='/citations?view_op\\x3dsearch_authors\\x26hl\\x3den\\x26oe\\x3dASCII\\x26mauthors\\x3dlabel:machine_learning\\x26after_author\\x3dVCoCALPY_v8J\\x26astart\\x3d10'"]         

In [66]: xpath = '(/html/body/div[1]/div[4]/div[2]/div/span/button[2]/@onclick)[2]'

#there is no second element
In [67]: tree.xpath(xpath)
Out[67]: []     

In [70]: xpath = '(/html/body/div[1]/div[4]/div[2]/div/span/button[2]/@onclick)'

#The list contains only one element
In [71]: tree.xpath(xpath)
Out[71]: ["window.location='/citations?view_op\\x3dsearch_authors\\x26hl\\x3den\\x26oe\\x3dASCII\\x26mauthors\\x3dlabel:machine_learning\\x26after_author\\x3dVCoCALPY_v8J\\x26astart\\x3d10'"]         
Run Code Online (Sandbox Code Playgroud)

根据此处的文档,返回值可以是智能字符串,但我无法从xpath函数获取字符串输出.如何编写xpath以便从xpath获取字符串输出

python xpath lxml

1
推荐指数
1
解决办法
1829
查看次数

element.getText()方法在java selenium中不起作用

<span class="label label-danger" style="font-size : 13px; font-weight : 400;">Critical</span>
Run Code Online (Sandbox Code Playgroud)

下面是我使用的xpath:

.//tr[@data-index='0']/td/span
Run Code Online (Sandbox Code Playgroud)

我在上面的HTML源代码中有一行代码.所以,我使用了相应的Xpath和used getText()方法来获取文本,即Critical.我成功了.

但是,我在另一个页面中有另一行这样的.

<div class="col-xs-12">
<div id="project-update-success-information" class="panel-confirmation success" style="display: none;">
<span class="fa fa-check"/>
  Project Updated
</div>
Run Code Online (Sandbox Code Playgroud)

下面是我使用的xpath: -

.//*[@id='project-update-success-information']/span
Run Code Online (Sandbox Code Playgroud)

我使用了相应的Xpath getText(),但不幸的是它没有为我检索文本.我怀疑</span>第二行中没有关闭标签导致问题.有没有其他方法来获取文本?

java selenium xpath selenium-webdriver

1
推荐指数
1
解决办法
2229
查看次数

有没有办法在Chrome中运行XQuery?

我想从Chrome浏览器中当前显示的HTML页面中检索数据。

例如:我想获取当前页面中显示的表的列数。

是否可以从Chrome控制台运行XQuery以获得此类信息?

当我们从控制台运行XPath以获得元素引用示例时:$x("//th")

xpath xquery google-chrome

1
推荐指数
1
解决办法
983
查看次数

如何在xpath中选择顺序元素?

假设我有这个XML:

<body>
    <div id="1"></div>
    <a id = "1"></a>
    <a id = "2"></a>
    <a id = "3"></a>
    <div id="2"></div>
    <a id = "4"></a>
    <a id = "5"></a>
    <a id = "6"></a>
</body>
Run Code Online (Sandbox Code Playgroud)

给定该元素//div[id='1'],我该如何选择“它的” <a>元素(从1到3的ID),但要排除<a>ID为4或更高的元素,因为它们出现在<div id='2'>

xpath

1
推荐指数
1
解决办法
218
查看次数

Selenium使用XPath从表格单元格(td)获取文本

元素是 <td>20175</td>

元素的Xpath是 //*[@id="body"]/table/tbody/tr[1]/td/table[2]/tbody/tr/td[2]/table/tbody/tr[4]/td[1]

我想参加20175年的一部分.

我试过了

  elems = browser.find_elements_by_xpath("""//*[@id="body"]/table/tbody/tr[1]/td/table[2]/tbody/tr/td[2]/table/tbody/tr[4]/td[1]""")

  print (elems)
Run Code Online (Sandbox Code Playgroud)

但它给了我的不是文本.

selenium.webdriver.remote.webelement.WebElement (session="77dc0a7bef8dadbf9aec1ddbab9e3a91", element="0.027053967816755176-1")>]
Run Code Online (Sandbox Code Playgroud)

html python selenium xpath

1
推荐指数
1
解决办法
8218
查看次数

如何在R中的RVest中将XPATH值定义为html_nodes中的变量

在使用R(rvest)进行网页抓取时,我需要将XPATH值定义为html_nodes中的变量。这样我就可以遍历许多XPATH。当我在外部定义XPATH时,它会引发错误(例如,当xpath = // * [@ id =“ banner”]时会出现错误)。能否请你帮忙。我的代码:

xpath <- as.character('//*[@id="title-overview-widget"]')
      name <- lego %>% 
      html_nodes(xpath) %>%
      html_text()
Error Message : Error in tokenize(css) : Unexpected character '/' found at position 1
Run Code Online (Sandbox Code Playgroud)

xpath r rvest

1
推荐指数
1
解决办法
2047
查看次数

如何在ruby语法中将字符串分成两行

如何在ruby代码中将字符串分成两行?有特定的符号吗?

def my_def
  path = "//div/p[contains(., 'This is a veeeeeeeryyyyyy looooonggggg string')]"
end
Run Code Online (Sandbox Code Playgroud)

我希望做出类似的事情:

def my_def
  path = "//div/p[contains(., 'This is a veeeeeeeryyyyyy
          looooonggggg string')]"
end
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 反斜杠不能正常工作!

ruby string xpath

1
推荐指数
1
解决办法
1097
查看次数

如何使用Selenium单击javascript按钮

如何单击大小按钮并使用Selenium Web驱动程序和python将其添加到购物车?

这是下面的网站

http://store.nike.com/us/en_us/pd/dri-fit-cool-tailwind-stripe-running-shirt/pid-10739300/pgid-11072108

请让我知道是否有什么我应该在此处粘贴与尺寸按钮有关的内容。

python selenium xpath

1
推荐指数
1
解决办法
6177
查看次数

当有多个具有相同属性和文本的元素时,如何识别Xpath?

我需要点击"客户一"的链接.目前我正在使用

//div[contains(@class,'client-info') and contains(div/text(),'Customer')] 
Run Code Online (Sandbox Code Playgroud)

使用Firepath,这将返回四个单独的元素(我附加了包含其中两个的代码),我认为这就是为什么Selenium Webdriver无法找到我想要单击的元素.

我需要单击此xpath的最后一个实例,但它似乎不可能更具体,因为它们具有相同的类和内部文本!

<div class="wg-client-row-mobile hidden-sm hidden-md hidden-lg">
<div class="row">
<div class="col-xs-11">
<span class="icon icon-user" ng-class="{'icon-user': !wgClientItemCtrl.client.isAnOrganization, 'icon-business': wgClientItemCtrl.client.isAnOrganization}"/>
<div class="client-info">
<div class="client-name not-long-text ng-binding">Customer One</div>
<!-- <div class="client-age not-long-text" ng-if="!wgClientItemCtrl.client.isAnOrganization">{{wgClientItemCtrl.client.gender}}, {{wgClientItemCtrl.client.calculatedAge | notAvailable}}</div> -->
<!-- ngIf: !wgClientItemCtrl.client.isAnOrganization -->
<div class="client-age not-long-text ng-binding ng-scope" ng-if="!wgClientItemCtrl.client.isAnOrganization">
<!-- end ngIf: !wgClientItemCtrl.client.isAnOrganization -->
<!-- ngIf: wgClientItemCtrl.client.isAnOrganization -->
<div class="client-age not-long-text ng-binding">
</div>
</div>
<div class="favorite-right-container">
</div>
</div>
<div class="wg-client-row-desktop hidden-xs hidden-is">
<div class="row content">
<div class="col-sm-4">
<div class="icon icon-user" …
Run Code Online (Sandbox Code Playgroud)

html xml selenium xpath webdriver

1
推荐指数
1
解决办法
1450
查看次数

Webdriver(c#) - 大概是通过文本找到按钮

我正忙着抓住一个按钮.是否有人能够指出我如何获得按钮处理的正确方向并使用xpath或css选择器单击它?这是代码:

 <button class="trans-button mtrn-dialog-button" title="" value="">OK</button>
Run Code Online (Sandbox Code Playgroud)

我试图通过文字来获取它.它似乎工作正常(因为它可以找到元素),但它似乎不想将click事件提供给按钮

selenium xpath webdriver css-selectors selenium-webdriver

1
推荐指数
1
解决办法
5042
查看次数