【发布时间】:2018-08-02 01:35:27
【问题描述】:
我正在尝试使用 selenium Webdriver (Python) 从我的应用程序页面上的锚选项卡中获取 href 属性值,并且返回的结果已被部分剥离。
这里是 HTML sn-p -
<a class="nla-row-text" href="/shopping/brands?search=kamera&amp;nm=Canon&amp;page=0" data-reactid="790">
这是我正在使用的代码 -
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Firefox()
driver.get("xxxx")
url_from_attr = driver.find_element(By.XPATH,"(//div[@class='nla-children mfr']/div/div/a)[1]").get_attribute("href")
url_from_attr_raw = "%r"%url_from_attr
print(" URL from attribute -->> " + url_from_attr)
print(" Raw string -->> " + url_from_attr_raw)
我得到的输出是 -
/shopping/brands?search=kamera&page=0
而不是-
/shopping/brands?search=kamera&nm=Canon&page=0 OR
/shopping/brands?search=kamera&nm=Canon&page=0
这是因为 URL 中的实体表示,我看到实体之间的部分被剥离了吗?任何帮助或指针都会很棒
【问题讨论】:
-
在幕后会调用 webdriver likeso
resp = self._execute(Command.GET_ELEMENT_ATTRIBUTE, {'name': name})。您可以尝试使用其他浏览器来查看是否遇到相同的问题吗?例如。driver = webdriver.Chrome()可能是壁虎驱动的问题。 -
好吧,chromedriver也不行
标签: python python-3.x selenium selenium-webdriver html-entities