当前位置: 首页 > 知识库问答 >
问题:

无法使用python selenium为此网站创建动态XPath

公冶翰池
2023-03-14

以下是我试图自动处理数据的网站:网站链接。我必须做到以下几点:

  1. 选择位置为维多利亚,然后选择区域为墨尔本。
  2. 选择制作为,比方说,阿巴斯。将重复其他制作。

我尝试过静态XPath,也尝试过用有限的知识创建动态XPath,但我仍然无法完成这项任务。

我使用python selenium和自动化谷歌chrome。

下面是我错误代码的快照,用于选择Abarth as make:

make_ele = WebDriverWait(driver,40).until(EC.element_to_be_clickable((By.XPATH, '//*[@data-name="make"]'))).click()
select_abarth_ele = WebDriverWait(driver,40).until(EC.element_to_be_clickable((By.XPATH, '//div[@class="multiselect-searchbox"]//input[@class, "border py-1 px-2 mb-1")]'))).send_keys("Abarth")

共有1个答案

姚骁
2023-03-14

你的xpath必须被审查。试试这个:

make_ele = WebDriverWait(driver,40).until(EC.element_to_be_clickable((By.XPATH, '//span[contains(text(),'Make')]'))).click()
select_abarth_ele = WebDriverWait(driver,40).until(EC.element_to_be_clickable((By.XPATH, '//div[contains(@class,"multiselect-searchbox")]/input'))).send_keys("Abarth")

如果不想使用contains(text(),'text'),还可以使用以下相对路径//div[@data name=“make”]

 类似资料:
  • 我正在使用Eloquent和SlimPHP以及Capsule作为DB“Facade”。 现在我只是支持MySql,因为我需要动态创建表,所以我试图构建两个查询并运行它们。 做的时候 要查看查询是如何生成的,它们如下所示: 字符串(351)“如果不存在,则创建表`responses\\u 44`(`id`int(11)NOT NULL AUTO\\u INCREMENT,`field\\u 20`v

  • 问题内容: 我刚刚将应用程序升级到1.7(实际上仍在尝试)。 这是我在models.py中拥有的: 当我尝试时,它抛出: 问题答案: 我不确定是否可以回答自己的问题,但我只是想出了(我认为)。 根据此错误报告,我编辑了代码: 然后,在字段定义中: 这对我有用。

  • 创建网站 Docusaurus 的创造,是希望能够让你为开源项目创建一个网站和文档变得非常简单。 在 安装 和 准备 之后,为文档创建基本网站的许多工作已经完成。 网站结构 你的网站结构看起来像下面这样: root-of-repo ├── docs └── website │ └── blog │ └── core │ └── Footer.js │ └── node_mo

  • 注意: Adobe Muse 不再添加新增功能,并将于 2020 年 3 月 26 日停止支持。有关详细信息和帮助,请参阅 Adobe Muse 服务结束页面。 注意:   Typekit 现已更名为 Adobe Fonts,包含在 Creative Cloud 和其他订阅中。了解详情。 现在,Adobe Muse 已与 Adobe Comp CC 集成,后者是 iPhone 和 iPad 上提供

  • 我想在不使用应用编程接口的情况下访问instagram页面。我需要找到追随者的数量,所以这不仅仅是一个源下载,因为页面是动态构建的。 我发现HtmlUnit是一个模拟浏览器的库,这样JS就会被渲染,我就能得到想要的内容。 但是,此调用会导致以下异常: 所以它无法访问该脚本,但如果我正确解释了这一点,它只是为了加载字体,我不需要。我在google上搜索了如何告诉它忽略页面的某些部分,并找到了这条线索

  • 任何人都可以申请GitHub,并开通GItHub Pages,这都是免费的。 假如您的GitHub帐号为alice,则需要创建一个这样的GitHub repo作为您的GitHub Pages托管仓库:alice.github.io,只有这样的仓库名称才可以作为您的GitHub Pages的入口页面,而其他的GitHub Pages则是在该页面的子级URL下,如http://alice.github