我有问题,我需要根据测试创建一个日志(Selenium,python)。我知道如何写所有日志,
那太过分了。我只想要有错误的日志。另外,我注意到我没有“ POST”登录。如何更正代码?
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
caps = DesiredCapabilities.CHROME
caps['loggingPrefs'] = {'performance': 'ALL'}
self.driver = webdriver.Chrome(desired_capabilities=caps)
self.driver.get('http://site/login')
for entry in self.driver.get_log('performance'):
print(entry['message'])
谢谢
答案 0 :(得分:1)
您需要设置日志级别:
编辑:
只需更改此行:caps['loggingPrefs'] = {'performance': 'ALL'}
收件人:
caps['loggingPrefs'] = {'performance': 'WARNING'}
如果您正在使用本地日志,则可以尝试使用以下选项设置级别:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('log-level=1')
driver = webdriver.Chrome(r'C:\path\to\chromedriver', chrome_options=options)
这是级别:
默认值为0
希望这对您有帮助!
答案 1 :(得分:0)
在https://stackoverflow.com/a/20910684/10525667上查看更新后的答案。
从chromedriver 75.0.3770.8开始,您必须使用goog:loggingPrefs而不是loggingPrefs:
public List<AreaClass> getAreas()
{
List<AreaClass> areas = new List<AreaClass>();
try
{
using (connection = new SqlConnection(connection))
{
connection.Open();
using (SqlCommand command = new SqlCommand("sp", connection))
{
command.CommandType = CommandType.StoredProcedure;
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
AreaClass area = new AreaClass();
area.Area = reader["Area"].ToString();
area.Description = reader["Description"].ToString();
areas.Add(area);
}
}
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message.ToString());
}
finally
{
connection.Close();
}
return areas;
}