loops - 无法遍历包含XPath的文件

标签 loops selenium xpath python-3.5

我无法遍历包含XPath的文件day.txt
例如:我已经试图像这样在文件中三重引用:

"""//[@id="frm"]/div[4]/div/div[1]/div[1]/div[2]/div/div[1]/div/div[2]""" 


但它不起作用。

错误是


语法错误:
无法对“文档”执行“评估”:
字符串'“”“ // * [@ id =” frm“] / div [4] / div / div [1] / div [1] / div [2] / div / div [2] / div [2 ] / div [3] / div / div / div [2] / table / tbody / tr [1] / td [7] / span“”“
'
不是有效的XPath表达式。


欢迎任何帮助!

dates = open("days.txt")
for date in dates:
 date.strip()
 driver.find_element_by_xpath(date).click()

最佳答案

您不需要在txt文件中的各行周围加上引号。如果您的XPath定位符包含双引号(“),则在使用前需要将它们全部替换为单引号(')。如果您用google替换python中字符串中的字符,则会找到一些示例代码。

注意:包含多个级别的定位器非常脆弱。您确实需要手工制作这些定位器,以使其更短。

关于loops - 无法遍历包含XPath的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43126383/

相关文章:

python - 根据另一个 df 中的值填充新的 pandas df

JavaScript 事件监听器

python - Pyganim 在 Sidescroller 游戏中的帮助

xml - 遍历 XML 树获取属性值

html - 需要一个 xpath 在某个元素第一次出现之前找到特定类型的所有元素

c++ - 将文件中的数据读入数组 C++ 时循环跳过行

python-3.x - 在通过 ChromeDriver 和 Selenium 通过 Python 3 执行测试时如何解决 Chrome 显示 "Aw, Snap!"页面

javascript - 无法使用 python selenium 登录 namecheap

c# - 如何单击在 Selenium WebDriver 中不可见的元素?

java - 如何从 XML 中获取文本,同时忽略其他子元素文本