【问题标题】:Can not read value propertie from textarea object with Selenium Basic (VBA)无法使用 Selenium Basic (VBA) 从 textarea 对象读取值属性
【发布时间】: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] 才能工作?有人知道吗?

标签: vba selenium textarea


【解决方案1】:

问题解决了。原来问题实际上是 chromedriver 版本。

我发现我使用了错误的版本。

我不知道为什么,但显然有两个 chrome 驱动程序站点:

  1. https://sites.google.com/a/chromium.org/chromedriver/downloads

  1. https://chromedriver.chromium.org/home

在 1 号站点中,我只获得了 chromedriver 的 91.0.4472.19 版本,这似乎有我上面描述的错误。

在 2 号站点中,我得到了不存在该错误的版本 91.0.4472.101。

注意:我的 chrome 浏览器版本是:91.0.4472.77。

我希望这些信息对遇到同样问题的人有所帮助。如果有人知道为什么有这两个网站供 chromedriver 下载,我很想知道。

谢谢

【讨论】:

    猜你喜欢
    • 2022-06-18
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 2021-10-29
    • 2015-03-29
    • 1970-01-01
    相关资源
    最近更新 更多