【发布时间】:2021-06-01 12:36:47
【问题描述】:
我在从网页中的 textarea 元素中读取“值”属性时遇到问题。
奇怪的想法是代码曾经可以工作,但显然在 chromedriver/chrome 更新后它停止了。
我用来阅读它的代码行是:
Text = Selenium.FindElementByCss("textarea[id='some_textarea_id']").Value
但现在它返回一个空字符串。
在 Chrome 的“控制台”选项卡中,我可以使用下面的 css 选择器过滤 textarea 元素的文本:
$$("textarea[id='some_textarea_id']")[0].value
但在 Selenium VBA 中,当我尝试使用时失败:
Text = Selenium.FindElementByCss("textarea[id='some_textarea_id']")[0].Value
或
Text = Selenium.FindElementByCss("textarea[id='some_textarea_id']")(0).Value
在第一种情况下,不接受 sintax。这条线变红了,我无法运行程序。
在第二种情况下,我收到错误“对象不接受此比例或方法”。
对象是这样的(我要阅读的文字也很奇怪,这里没有出现):
<textarea class="text sr " wrap="off" id="some_textarea_id" cols="20" maxlen="15" style="top: 0px; left: 103px; width: 132px; height: 21px; background-color: rgb(222, 224, 224);" arautocak="0" arautoctt="400" rows="1" readonly=""></textarea>
有人知道这个问题的原因吗?
【问题讨论】:
-
愿意分享您遇到的错误吗?
-
@StureS 抱歉。我添加了一些有关错误的更多信息。但基本上它以前的工作方式,现在返回一个空字符串。并且在 chrome 中测试的选择器返回“此对象中没有属性或方法”消息。
-
Selenium 和 VBA 中的选择器是否正常工作?
-
是的。 CSS 选择器工作正常。
-
当我尝试在 Chrome 上选择元素时,为什么只出现属性“值”?为什么我必须在 $$("textarea[id='some_textarea_id']")[0].value 上使用 [0] 才能工作?有人知道吗?