Python 2.7 select element by driver.find_element_by_selenium用于span类的xpath

Python 2.7 select element by driver.find_element_by_selenium用于span类的xpath,python-2.7,selenium,xpath,Python 2.7,Selenium,Xpath,我正在尝试使用xpath从页面中刮取数据并单击ot。例如,我想要的内容是以下格式 <div class="x-grid-cell-inner x-grid-cell-inner-treecolumn" style="text-align:left;" unselectable="on"> <img class=" x-tree-elbow-img x-tree-elbow-empty" role="presentation" src="data:image/gif;base64

我正在尝试使用xpath从页面中刮取数据并单击ot。例如,我想要的内容是以下格式

<div class="x-grid-cell-inner x-grid-cell-inner-treecolumn" style="text-align:left;" unselectable="on">
<img class=" x-tree-elbow-img x-tree-elbow-empty" role="presentation" src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==">
<img class=" x-tree-elbow-img x-tree-elbow-line" role="presentation" src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==">
<img class=" x-tree-elbow-img x-tree-elbow" role="presentation" src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==">
<img class=" x-tree-icon x-tree-icon-leaf " role="presentation" src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==">
<span class="x-tree-node-text ">Chassis</span>

底盘
我使用了函数//span[contains(@class,'x-tree-node-text')。但是它没有返回任何内容

有什么帮助吗

试试下面的XPath:-

//span[@class='x-tree-node-text ']
或者更具体地说

//span[@class='x-tree-node-text ' and contains(.,'Chassis')]
希望它能帮助您:)

尝试以下XPath:-

//span[@class='x-tree-node-text ']
或者更具体地说

//span[@class='x-tree-node-text ' and contains(.,'Chassis')]

希望它能帮助您:)

您是否也在尝试查找文本“Chassis”?很难看出您没有将XPath放在backticks中

但如果是这样,那么XPath就错了。您必须使用:

//span[contains(@class, 'x-tree-node-text')][.='Chassis']

您是否也在尝试查找文本“机箱”?很难看出您没有将XPath放在backticks中

但如果是这样,那么XPath就错了。您必须使用:

//span[contains(@class, 'x-tree-node-text')][.='Chassis']

为什么需要包含,请使用xpath检查器在不运行代码的情况下验证结果(最好使用css选择器)
不返回任何内容
您的意思是得到
NoTouchElement
异常还是什么?是的,我找不到元素为什么需要包含,请使用xpath检查器在不运行代码的情况下验证结果(最好使用css选择器)
不返回任何内容
您的意思是得到
nosucheElement
异常还是什么?是的,我没有找到元素我有多个名为“class='x-tree-node-text'”的类,所以span中的值可以区分它们。机箱配置我有多个名为“class='x-tree-node-text'”的类“class='x-tree-node-text'”所以span中的值可以区分它们。机箱配置i将其用作:xpath=“//span[contains(@class,'x-tree-node-text')][.='Chassis']”xpath。单击()它抛出的错误为:AttributeError:'str'对象没有属性'click',您不能单击字符串。您需要将xpath字符串输入到
driver.findElement()
中才能获取web元素。然后您可以调用
元素。click()
。完整代码:
driver.findElement(By.xpath(//span[contains])(@class,'x-tree-node-text')][.='Chassis']”)。单击();
我将其用作:xpath=“//span[contains(@class,'x-tree-node-text')][.='Chassis']”xpath。单击()它会抛出错误,因为:AttributeError:'str'对象没有属性'click',您无法单击字符串。您需要将xpath字符串输入
driver.findElement()
以获取web元素。然后您可以调用
元素。单击()
。完整代码:
driver.findelelement(By.xpath(//span[contains(@class,'x-tree-node-text')][.='Chassis'])。单击();