如何使用 Selenium 和 VBA 识别包含特殊字符的元素类名
Posted
技术标签:
【中文标题】如何使用 Selenium 和 VBA 识别包含特殊字符的元素类名【英文标题】:How to identify elements classname containing special characters using Selenium and VBA 【发布时间】:2021-05-18 16:18:31 【问题描述】:我正在尝试更多地了解 Selenium 如何与 VBA 一起工作,并且我正在尝试对当今电子商务的趋势行为做一些事情。
在这种情况下,我不知道 FindelementByclass 内部有 _
或 -
等特殊字符时如何工作,因为它总是给我空结果,我需要识别它,因为我想通过每个类都称为它。
<span class="minificha__sku ng-binding">Cód TG: AS0-322</span>
【问题讨论】:
【参考方案1】:要识别元素,您可以使用以下任一Locator Strategies:
使用 FindElementByClassName 我:
bot.FindElementByClassName("minificha__sku")
使用FindElementByClassName II:
bot.FindElementByClassName("ng-binding")
使用FindElementByCss:
bot.FindElementByCss("span.minificha__sku.ng-binding")
使用FindElementByXPath:
bot.FindElementByXPath("//span[@class='minificha__sku ng-binding']")
【讨论】:
【参考方案2】:类中的空格表示它有两个类,
class="minificha__sku ng-binding"
意味着它有 "minificha__sku" 和 "ng-binding" ,所以使用 xpath 或 css 而不是 byclass 或使用两个类中的一个而不是两个
css:
span[class="minificha__sku ng-binding"]
xpath
//span[@class="minificha__sku ng-binding"]
【讨论】:
我明白,但它不适用于我需要做的事情,或者我猜这就是导致我的脚本出现问题的原因,你能给我一个使用 css 的例子吗? 您的 css 模式是错误的,因为复合类需要用“.”连接。即 minificha__sku.ng-binding 除非您打算在其中插入后代组合器并查找子节点? 我不明白以上是关于如何使用 Selenium 和 VBA 识别包含特殊字符的元素类名的主要内容,如果未能解决你的问题,请参考以下文章
Python Selenium - 根据样式属性单击css元素或包含子元素的文本?推特关注
如何在 Python Scraping 中使用 beautifulsoup 和 selenium 识别类名或 id
python selenium-webdriver 登录验证码的处理
如何使用 VBA 识别 MS Outlook 中的日历条目?
如何识别 ReCaptcha V2 的 32 位数据站点密钥以使用 Selenium 和 Python 请求以编程方式获取有效响应?