[英]unable to select an element using xpath in selenium and python
我一直在尝试 xpath 的元素 select 并显示它,但每次尝试运行代码时都会出错。 我通过检查元素并复制完整的 xpath 得到了 xpath,但它给了我错误。 它也是一种动态形式,因此我无法选择直接文本,并且我可能需要使用地址来定位该元素,因为它每次都会更改,但我无法 select 那个特定元素。 如何选择元素?
这就是我尝试选择元素的方式
name_from_doc=browser.find_element_by_xpath('/html/body/form/div[3]/div[3]/div/div[4]/div/div[2]/div[4]/div[2]/text()[1]')
print(name_from_doc)
我得到的错误是
InvalidSelectorException: Message: invalid selector: The result of the xpath expression "/html/body/form/div[3]/div[3]/div/div[4]/div/div[2]/div[4]/div[2]/text()[1]" is: [object Text]. It should be an element.
我想将人名分别存储在两个不同的变量中
由于Billing Address
文本将始终存在,因此可以通过使用 xpath 中的文本到达那里,然后通过使用 xpath 中的following
找到其确切值。
你可以这样做:
name_from_doc = browser.find_element_by_xpath("//div[contains(text(),'Billing Address')]//following::div[1]//br[2]")
print(name_from_doc.text)
要获取值NAPERVILLE IL
使用以下 xpath 获取元素,然后使用splitlines()
和最后一个索引值。
name_from_doc=browser.find_element_by_xpath('//div[contains(.,"Billing Address")]/following::div[1]').text
print(name_from_doc.splitlines()[-1])
更新:
name_from_doc=browser.find_element_by_xpath('//div[contains(.,"Billing Address")]/following::div[1]').text
print(name_from_doc.splitlines()[0])
print(name_from_doc.splitlines()[1])
print(name_from_doc.splitlines()[-1])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.