简体   繁体   English

使用 Selenium WebDriver 和 JavaScript 从 XPath 元素获取文本

[英]Get text from XPath Element using Selenium WebDriver with JavaScript

I'm trying to use Selenium to get text elements from websites using Node.我正在尝试使用 Selenium 从使用 Node.js 的网站获取文本元素。

As an example, I am using the URL: https://www.ebuyer.com/874785-exdisplay-gigabyte-geforce-rtx-2080-ti-gaming-oc-11gb-graphics-card-ebr2-gv-n208tgaming-oc-11gc and the XPath /html/body/section/div[1]/div[3]/div[1]/div[3]/form/button例如,我使用的 URL: https : //www.ebuyer.com/874785-exdisplay-gigabyte-geforce-rtx-2080-ti-gaming-oc-11gb-graphics-card-ebr2-gv-n208tgaming- oc-11gc和 XPath /html/body/section/div[1]/div[3]/div[1]/div[3]/form/button

I can see in an XPaath selector plugin that it results in "Add to Basket", however the below code logs a blank string.我可以在 XPaath 选择器插件中看到它导致“添加到篮子”,但是下面的代码记录了一个空白字符串。 Any idea what I'm doing wrong?知道我做错了什么吗?

I've tried it with a different element on the page which works, so I'm assuming because its a button?我已经在页面上使用不同的元素尝试过它,所以我假设它是一个按钮?

const selenium = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
const chromedriver = require('chromedriver');

chrome.setDefaultService(new chrome.ServiceBuilder(chromedriver.path).build());
const driver = new selenium.Builder()
  .withCapabilities(selenium.Capabilities.chrome())
  .build();

await driver.get(url);
await delay(1000);
const value = await driver.findElement(web.By.xpath(xPath)).getText();
console.log(value)

Use the following xpath to identify the button.使用以下xpath来标识按钮。

//div[@class='purchase-info']//input[@value='Add to Basket']

Update:更新:

const value = await driver.findElement(web.By.xpath("//div[@class='purchase-info']//input[@value='Add to Basket']")).getAttribute("value");
console.log(value)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用Selenium WebDriver和JavaScript从XPath找到Element的文本 - Get text from XPath located Element using Selenium WebDriver with JavaScript 有没有办法在 Selenium WebDriver 中使用 JavaScript 通过 XPath 获取元素? - Is there a way to get element by XPath using JavaScript in Selenium WebDriver? 如何通过XPath从Selenium WebDriver中的JavaScript代码获取特定文本 - How to get a specific text from a javascript code in selenium webdriver by xpath 通过在Selenium Webdriver的Javascript执行程序中使用Javascript XPATH获取iframe内容 - Get iframe content by using Javascript XPATH in Javascript executor for selenium webdriver 使用WebDriver从JavaScript警报获取文本元素 - Get text element from a javascript alert using webdriver 如何使用硒webdriver中的JavaScript从脚本标签中获取元素详细信息? - How to get element details from script tag using JavaScript in selenium webdriver? How to find web element by xpath using javascript code in python selenium webdriver? - How to find web element by xpath using javascript code in python selenium webdriver? 如何使用 Selenium WebDriver 和 Java 从元素中检索文本 - How to retrieve text from an element using Selenium WebDriver and Java Selenium Webdriver xpath找到元素 - Selenium Webdriver xpath to find element 如何使用Jasmine JavaScript在Selenium Webdriver中获取XPath计数? - How can i get xpath count in selenium webdriver using jasmine javascript?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM