gpt4 book ai didi

vba - 使用 Selenium Web Driver 和 XPath 将文本存储在变量中

转载 作者:行者123 更新时间:2023-12-02 05:30:14 25 4
gpt4 key购买 nike

我正在尝试使用 VBA 中的以下代码从网站获取邮政编码:

variableName = driver.findElement(By.XPath(".//*[@id='T_F2']/fieldset/div[1]/div/div[4]/span[2]"))

但这给了我错误:

enter image description here

我假设这个错误只是告诉我我的 XPath 错误的一种简单方式。由于我不是 XPath 天才,我只是安装了 FireBug 和 FirePath 附加组件,它们为我生成了上述 XPath。但问题是,当我将 XPath 输入 FirePath .//*[@id='T_F2']/fieldset/div[1]/div/div[4]/span[2]然后点击评估,它就可以找到邮政编码了。

我可能做错了什么吗?这是我试图从中获取邮政编码的网站背后的代码:

<div id="T_F2">
<fieldset>
<div class="txt_align_centre padding_bottom_5">
<div class="txt_align_left">
<div class="err_row">
<span class="red_text_v err_formw">
You searched for telephone number 02075884760.
<br></br>
</span>
</div>

<div class="row">
<span class="form_label">
<label>
CSS Exchange:
</label>
</span>
<span class="formw_nonedit">
</span>
</div>

<div class="row">
<span class="form_label">
<label>
District code:
</label>
</span>
<span class="formw_nonedit">
CL
</span>
</div>

<div class="row">
<span class="form_label">
<label>
Post code:
</label>
</span>
<span class="formw_nonedit">
EC2M 3WA
</span>
</div>

<div class="row">
<span class="form_label">
<label>
PCP Id:
</label>
</span>
<span class="formw_nonedit">
</span>
</div>
...
</div>
</div>
</frameset>
</div>

有几个带有 row 类的 div。每行都有一个名为 form_labelformw_nonedit 的跨度类。我对包含邮政编码 EC2M 3WA 的 formw_nonedit span 类感兴趣。

编辑:我修改了代码以使用 VBA Remote Control 而不是 VBA WebDriver,因为我更好地了解如何以这种方式解决问题。因此,我更改了 driver.findElement(By.XPath(".//*[@id='T_F2']/fieldset/div[1]/div/div[4]/span[2]"))selenium.findElement(By.XPath(".//*[@id='T_F2']/fieldset/div[1]/div/div[4]/span[2] “))。这会导致错误:对象不支持此属性或方法。只是想知道如何让 findElement 工作或者是否有等效的?我希望这足够相关,不值得提出自己的问题。

最佳答案

我不完全确定这里出了什么问题,但如果我可以提供替代方案..使用CSS。这是faster, cleaner ,而且更好。

在您的情况下,您的选择器将是(假设该位置在列表中是静态的。)

div#T_F2 div.txt_align_left > div.row:nth-child(4)

所以你可以使用

获取它
text = driver.findElement(By.CssSelector("div#T_F2 div.txt_align_left > div.row:nth-child(4)").getText();

查看它在 this fiddle 中的工作情况

关于vba - 使用 Selenium Web Driver 和 XPath 将文本存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20098984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com