<span class="noactive">0 Jours restants</span>
我的代码
def scrapper_lenovo(file, line):
CHROME_PATH = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
CHROMEDRIVER_PATH = 'C:\webdriver\chromedriver'
WINDOW_SIZE = "1920,1080"
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=%s" % WINDOW_SIZE)
chrome_options.binary_location = CHROME_PATH
d = driver.Chrome(executable_path=CHROMEDRIVER_PATH,
chrome_options=chrome_options)
d.get("https://pcsupport.lenovo.com/fr/fr/warrantylookup")
search_bar = d.find_element_by_xpath('//*[@id="input_sn"]')
search_bar.send_keys(line[19])
search_bar.send_keys(Keys.RETURN)
time.sleep(4)
try:
warrant = d.find_element_by_xpath('//*[@id="W-Warranties"]/section/div/div/div[1]/div[1]/div[1]/p[1]/span')
file.write(warrant)
except:
print ("test")
pass
if ("In Warranty" not in d.page_source):
file.write(line[3])
file.write("\n")
d.close()
正如您所看到的,我尝试打印“warrant”的内容,但我找不到任何允许它的函数(我看到一些函数使用。text()、.gettext(),但无论出于什么原因,我都无法让它们工作)。
您可以尝试显式匹配所需的标记,相关的XPath表达式为:
//span[@class='noactive']
我还建议使用这个time.sleep()
函数,它是某种形式的性能反模式,如果您需要等待某个元素的存在/可见/不可见/不存在,您应该选择显式等待
因此删除这些行:
time.sleep(4)
warrant = d.find_element_by_xpath('//*[@id="W-Warranties"]/section/div/div/div[1]/div[1]/div[1]/p[1]/span')
warrant = WebDriverWait(driver, 10).until(expected_conditions.presence_of_element_located((By.XPATH, "//span[@class='noactive']")))
我尝试找到不在div元素中的文本,并将其包装到div: null null 我找不到正确的方法。 我试图达到的结果是:
问题内容: 嗨,如何在Selenium(Python 3)中禁用GeckoDriver的日志文件? 如果不可能,如何将其重新定位到Temp文件? 问题答案: 要重新 放置GeckoDriver 日志,可以在项目空间中创建一个目录,例如 Log, 并且可以使用参数 log_path 将 GeckoDriver 日志存储在文件中,如下所示:
我正在尝试用单节点hadoop集群运行一个示例程序。我在运行示例程序(jar文件)时遇到一个异常。 多谢了。
问题内容: 我想从我的文本字段中获取数据并将其设置为int h。并改变了矩形的大小,但我不确定如何从文本字段中获取数据,我在actionperfomred中使用e.getsource很累,但找不到我的文本字段。我的代码如下: 问题答案: 该变量是本地变量。如果要从访问它,则需要将其更改为实例变量。
这里是html 任何帮助都将不胜感激
问题内容: 请参阅以下元素: 找到我的元素: 因此,找到后并使用带有selenium 或return 的文本: 所以我的问题是如何在没有此情况的情况下仅获得最后一行 问题答案: 所需的文本出现在文本节点中,并且无法直接使用Selenium检索,因为它仅支持元素节点。 您可以删除开头: 您还可以使用正则表达式从中提取所需的内容: 或使用一段JavaScript: