我是Python和编码的新手。我试图在browser.find_element_by_xpath()
内部以外部值的形式传递XPath。我在浏览器控制台中使用了XPath,它是正确的,在各个地方也使用了time.sleep()
来加载网页,但出现错误。我的问题是,甚至可以用此代码找到元素吗?
a=input()
b = a.split(",")
for i in range(len(b)):
c = ("""'//a[@title="{}"]'""".format(b[i]));time.sleep(1)
print(c)
print(type(c))
act1 = browser.find_element_by_xpath(c)
错误消息:
FLQV-7734
'// a [@ title =“ FFLQV-7734”]'
selenium.common.exceptions.InvalidSelectorException:消息:无效 选择器:无法使用xpath表达式定位元素 '// a [@ title =“ FFLQV-7734”]'由于出现以下错误:TypeError: 无法对“文档”执行“评估”:结果不是节点 设置,因此无法转换为所需的类型。 (会议 信息:chrome = 72.0.3626.81)(驱动程序信息:chromedriver = 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),平台= Windows NT 10.0.14393 x86_64)
答案 0 :(得分:0)
异常告诉您XPath无效。我怀疑这是您的xpath周围的多余单引号:
//postInfoAndImages.js
import imageList from "./imageUploadDisplay"
// -> do something with imageList
这可能应该起作用:
"""'//a[@title="{}"]'"""
^ ^
完成最后一行代码:
"""//a[@title="{}"]"""
在c = ("""//a[@title="{}"]""".format(b[i]));time.sleep(1)
之前和//
字符之后没有单引号。