python - find_element_by_xpath() 仅通过从 Safari 复制粘贴 Xpath 给我语法错误
问题描述
这是我要获取数据的网站:https ://www.wunderground.com/history/daily/gb/london/EGLC/date/2017-2-10 。在这种情况下,我想采用 2.7 的日平均温度。当我在 safari 中检查元素时,我可以将该行复制为 HTML、Xpath 或属性。由于 selenium 可以通过 Xpath 找到元素,所以我选择了这种方法。但是,当我将其复制并粘贴到
driver.find_element_by_xpath(//*[@id="inner-content"]/div[2]/div/div[3]/div/div/lib-city-history-summary/div/div[2]/table/tbody[1]/tr[3]/td[1])
我得到语法错误
.
如果有另一种方法可以在不使用 Xpath 的情况下选择元素并且它可以工作,我也可以使用它。谢谢。
解决方案
xpath 需要用引号引起来,这意味着您需要转义双引号:
driver.find_element_by_xpath("//*[@id=\"inner-content\"]/div[2]/div/div[3]/div/div/lib-city-history-summary/div/div[2]/table/tbody[1]/tr[3]/td[1]")
或将它们更改为单引号:
driver.find_element_by_xpath("//*[@id='inner-content']/div[2]/div/div[3]/div/div/lib-city-history-summary/div/div[2]/table/tbody[1]/tr[3]/td[1]")
或者,为了更轻松地使用您的复制粘贴,请将您的 xpath 用单引号括起来:
driver.find_element_by_xpath('//*[@id="inner-content"]/div[2]/div/div[3]/div/div/lib-city-history-summary/div/div[2]/table/tbody[1]/tr[3]/td[1]')
推荐阅读
- php - 页码不起作用
- python - 如何从给定坐标的 h5 文件中提取速度值?
- llvm - Clang 构建速度极慢,中间挂了
- matlab - '在这台计算机上找不到支持的 GPU 设备' Matlab R2018a?
- javascript - 为什么使用 && 的 IF 条件在 javascript 中不起作用?
- javascript - 从 jquery 使用的函数不起作用 - $ 未定义
- db2 - DB2查询合并2个十进制列并找到最大值
- html - WooCommerce 购物车小部件 - 更改按钮文本
- java - 在 Android Studio 中将 TextView 与其背景边缘分离
- java - 查询没有实体类的数据库表